<SEC-DOCUMENT>0000851205-18-000007.txt : 20180430
<SEC-HEADER>0000851205-18-000007.hdr.sgml : 20180430
<ACCEPTANCE-DATETIME>20180430160720
ACCESSION NUMBER:		0000851205-18-000007
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		78
CONFORMED PERIOD OF REPORT:	20180401
FILED AS OF DATE:		20180430
DATE AS OF CHANGE:		20180430

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			COGNEX CORP
		CENTRAL INDEX KEY:			0000851205
		STANDARD INDUSTRIAL CLASSIFICATION:	INDUSTRIAL INSTRUMENTS FOR MEASUREMENT, DISPLAY, AND CONTROL [3823]
		IRS NUMBER:				042713778
		STATE OF INCORPORATION:			MA
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-34218
		FILM NUMBER:		18789714

	BUSINESS ADDRESS:	
		STREET 1:		ONE VISION DR
		CITY:			NATICK
		STATE:			MA
		ZIP:			01760
		BUSINESS PHONE:		5086503000

	MAIL ADDRESS:	
		STREET 1:		ONE VISION DRIVE
		CITY:			NATICK
		STATE:			MA
		ZIP:			01760
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>cgnx-412018x10q.htm
<DESCRIPTION>10-Q
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2018 Workiva -->
		<title>Document</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s88DC07BAA541549CA361CAC2CA5E0AAD"></a></div><div style="line-height:120%;padding-top:5px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:97.65625%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:20%;"></td><td style="width:20%;"></td><td style="width:20%;"></td><td style="width:20%;"></td><td style="width:20%;"></td></tr><tr><td colspan="5" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:5px;text-align:center;font-size:11pt;"><font style="font-family:Arial;font-size:11pt;font-weight:bold;">UNITED STATES</font></div><div style="line-height:120%;text-align:center;font-size:11pt;"><font style="font-family:Arial;font-size:11pt;font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</font></div><div style="line-height:120%;text-align:center;font-size:11pt;"><font style="font-family:Arial;font-size:11pt;font-weight:bold;">WASHINGTON, D.C. 20549</font><font style="font-family:Arial;font-size:11pt;">&#160;</font></div><div style="line-height:120%;text-align:center;font-size:22pt;"><font style="font-family:Arial;font-size:22pt;font-weight:bold;">FORM 10-Q</font><font style="font-family:Arial;font-size:22pt;">&#160;</font></div><div style="line-height:120%;padding-top:16px;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">(Mark One)</font></div><div style="line-height:120%;font-size:9pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="2"></td></tr><tr><td style="width:9%;"></td><td style="width:91%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="padding-top:2px;text-align:right;text-indent:32px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">[ X ]</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Quarterly Report pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 for the quarterly period ended April 1, 2018 or</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:left;font-size:9.5pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="2"></td></tr><tr><td style="width:9%;"></td><td style="width:91%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">[&#160;&#160;&#160;&#160;]</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Transition Report pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 for the transition period from __________ to __________</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;font-weight:bold;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div style="line-height:120%;text-align:center;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;font-weight:bold;">Commission File Number 001-34218</font></div><div style="line-height:120%;text-align:center;font-size:17pt;"><font style="font-family:Arial;font-size:17pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;text-align:center;font-size:9pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:431px;border-collapse:collapse;text-align:left;"><tr><td colspan="1"></td></tr><tr><td style="width:430px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(Exact name of registrant as specified in its charter)</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:9pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:63.28125%;border-collapse:collapse;text-align:left;"><tr><td colspan="3"></td></tr><tr><td style="width:49%;"></td><td style="width:2%;"></td><td style="width:49%;"></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Massachusetts</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">04-2713778</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(State or other jurisdiction of</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">incorporation or organization)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(I.R.S. Employer</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Identification No.)</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">One Vision Drive</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Natick, Massachusetts 01760-2059</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(508) 650-3000</font></div><div style="line-height:120%;text-align:center;font-size:8pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:617px;border-collapse:collapse;text-align:left;"><tr><td colspan="1"></td></tr><tr><td style="width:617px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(Address, including zip code, and telephone number, including area code, of principal executive offices)</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:4px;text-indent:32px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90 days.&#160;&#160;</font></div><div style="line-height:120%;padding-top:4px;text-align:center;text-indent:32px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:643px;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:130px;"></td><td style="width:16px;"></td><td style="width:42px;"></td><td style="width:46px;"></td><td style="width:44px;"></td><td style="width:16px;"></td><td style="width:76px;"></td><td style="width:16px;"></td><td style="width:30px;"></td><td style="width:46px;"></td><td style="width:45px;"></td><td style="width:14px;"></td><td style="width:116px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Yes</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">X</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">No</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:4px;text-indent:32px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Indicate by check mark whether the registrant has submitted electronically and posted on its corporate web site, if any, every Interactive Data File required to be submitted and posted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit and post such files).&#160;&#160;</font></div><div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:645px;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:132px;"></td><td style="width:16px;"></td><td style="width:42px;"></td><td style="width:46px;"></td><td style="width:44px;"></td><td style="width:16px;"></td><td style="width:77px;"></td><td style="width:16px;"></td><td style="width:30px;"></td><td style="width:46px;"></td><td style="width:45px;"></td><td style="width:14px;"></td><td style="width:116px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Yes</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">X</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">No</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:10px;text-indent:32px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and "emerging growth company"  in Rule 12b-2 of the Exchange Act (Check one):</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:452px;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:164px;"></td><td style="width:44px;"></td><td style="width:18px;"></td><td style="width:181px;"></td><td style="width:44px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Large&#160;accelerated&#160;filer</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">X</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Accelerated&#160;filer</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Non-accelerated filer</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(Do not check if a smaller reporting company)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Smaller&#160;reporting&#160;company</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Emerging growth company</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:4px;text-indent:32px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. </font><font style="font-family:Wingdings;font-size:8pt;">o</font></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).&#160;&#160;&#160;&#160; </font></div><div style="line-height:120%;text-align:center;text-indent:32px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:643px;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:130px;"></td><td style="width:16px;"></td><td style="width:42px;"></td><td style="width:46px;"></td><td style="width:44px;"></td><td style="width:16px;"></td><td style="width:76px;"></td><td style="width:16px;"></td><td style="width:30px;"></td><td style="width:46px;"></td><td style="width:45px;"></td><td style="width:14px;"></td><td style="width:116px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Yes</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">No</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">X</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">As of </font><font style="font-family:Arial;font-size:9pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:9pt;">, there were </font><font style="font-family:Arial;font-size:9pt;">172,948,442</font><font style="font-family:Arial;font-size:9pt;">&#32;shares of Common Stock, $.002 par value per share, of the registrant outstanding.</font></div><div style="line-height:120%;padding-top:5px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:97.65625%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:20%;"></td><td style="width:20%;"></td><td style="width:20%;"></td><td style="width:20%;"></td><td style="width:20%;"></td></tr><tr><td colspan="5" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div><br></div><hr style="page-break-after:always"><div><a name="sF6EB0101B98E5999A8DE9AEB43D4787E"></a></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">INDEX</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="3"></td></tr><tr><td style="width:9%;"></td><td style="width:85%;"></td><td style="width:6%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">PART&#160;I</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">FINANCIAL INFORMATION</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sB87CFB20565952F99292796BD62F199F">3</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sB87CFB20565952F99292796BD62F199F"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;1.</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Financial Statements (interim periods unaudited)</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sB87CFB20565952F99292796BD62F199F">3</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s95C90B817A1155E6B77713DAFDAA1B83"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Statements of Operations for the three-month periods ended April 1, 2018 and April 2, 2017</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s95C90B817A1155E6B77713DAFDAA1B83">3</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s6439D60EC42350C2B3C43C77355E16B3"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Statements of Comprehensive Income for the three-month periods ended April 1, 2018 and April 2, 2017</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s6439D60EC42350C2B3C43C77355E16B3">4</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sDDDF6D42F7EB5062B4683728635413E6"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Balance Sheets as of April 1, 2018 and December 31, 2017</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sDDDF6D42F7EB5062B4683728635413E6">5</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sE1A16C9ED1895DF6B0F8EA7C6666846B"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Statements of Cash Flows for the three-month periods ended April 1, 2018 and April 2, 2017</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sE1A16C9ED1895DF6B0F8EA7C6666846B">6</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s6DADF6C629515B2290A6DFB445B0938A"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Statement of Shareholders&#8217; Equity for the three-month period ended April 1, 2018</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s6DADF6C629515B2290A6DFB445B0938A">7</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s22AB3ABF37515A00BC4C367C8F73DEEE"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Notes to Consolidated Financial Statements</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s22AB3ABF37515A00BC4C367C8F73DEEE">8</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s1EFC684E94275C939CCE9A8AE7FB2B76"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;2.</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s1EFC684E94275C939CCE9A8AE7FB2B76"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Management's Discussion and Analysis of Financial Condition and Results of Operations</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s1EFC684E94275C939CCE9A8AE7FB2B76">23</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sC700B1955D805433B7521B689F9AB682"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;3.</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sC700B1955D805433B7521B689F9AB682"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Quantitative and Qualitative Disclosures About Market Risk</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sC700B1955D805433B7521B689F9AB682">27</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sDC84EAB6DF1258B2AB117E51CB71F61F"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;4.</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sDC84EAB6DF1258B2AB117E51CB71F61F"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Controls and Procedures</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sDC84EAB6DF1258B2AB117E51CB71F61F">27</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;font-weight:bold;color:#000000;text-decoration:none;" href="#sBE33F862ED715D68854B73F65A1DDA3E"><font style="font-family:Arial;font-size:10pt;font-weight:bold;color:#000000;text-decoration:none;">PART&#160;II</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;font-weight:bold;color:#000000;text-decoration:none;" href="#sBE33F862ED715D68854B73F65A1DDA3E"><font style="font-family:Arial;font-size:10pt;font-weight:bold;color:#000000;text-decoration:none;">OTHER INFORMATION</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s5BE056DD7FE155C894458945D8E97B6F"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;1.</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s5BE056DD7FE155C894458945D8E97B6F"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Legal Proceedings</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s5BE056DD7FE155C894458945D8E97B6F">28</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sA5921707C11350B28E89DA48EC18359D"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;1A.</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sA5921707C11350B28E89DA48EC18359D"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Risk Factors</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sA5921707C11350B28E89DA48EC18359D">28</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s717EEFC7E2145C89AEF48613B55DBD91"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;2.</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s717EEFC7E2145C89AEF48613B55DBD91"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Unregistered Sales of Equity Securities and Use of Proceeds</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s717EEFC7E2145C89AEF48613B55DBD91">28</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s3A37996B24C757D2B8E3C3141B2C9593"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;3.</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s3A37996B24C757D2B8E3C3141B2C9593"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Defaults Upon Senior Securities</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s3A37996B24C757D2B8E3C3141B2C9593">28</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sB4FD7EB884765FC8A056A573B8D20D4B"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;4.</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sB4FD7EB884765FC8A056A573B8D20D4B"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Mine Safety Disclosures</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sB4FD7EB884765FC8A056A573B8D20D4B">28</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s8EA4F74417F259BBBCDFA13EA9EB85C0"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;5.</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s8EA4F74417F259BBBCDFA13EA9EB85C0"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Other Information</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s8EA4F74417F259BBBCDFA13EA9EB85C0">28</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s1BD83236F99856348ABE3C06B5CAB5FF"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;6.</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s1BD83236F99856348ABE3C06B5CAB5FF"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Exhibits</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s1BD83236F99856348ABE3C06B5CAB5FF">29</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sA27D617999D35E27A3D91F9020AF43B9"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Signatures</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sA27D617999D35E27A3D91F9020AF43B9">30</a></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">2</font></div></div><hr style="page-break-after:always"><div><a name="sB87CFB20565952F99292796BD62F199F"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">PART I: FINANCIAL INFORMATION</font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM 1: FINANCIAL STATEMENTS</font></div><div><a name="s95C90B817A1155E6B77713DAFDAA1B83"></a></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED STATEMENTS OF OPERATIONS</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(In thousands, except per share amounts)</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:79%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(unaudited)</font></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">169,567</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,039</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">40,198</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32,532</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross margin</font></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">129,369</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,507</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">31,076</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,770</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">63,697</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,521</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Operating income</font></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">34,596</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,216</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(134</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(263</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Investment income</font></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,240</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,012</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other income (expense)</font></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">277</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">270</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income before income tax expense</font></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37,979</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">39,235</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax expense (benefit) </font></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">762</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6,236</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income </font></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37,217</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,471</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income per weighted-average common and common-equivalent share:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic</font></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.21</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.26</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:middle;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Diluted</font></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.21</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.25</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td colspan="8" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding:</font></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic</font></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">173,280</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172,646</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:middle;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Diluted</font></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">179,641</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">178,354</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash dividends per common share</font></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.0450</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.0375</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">3</font></div></div><hr style="page-break-after:always"><div><a name="s6439D60EC42350C2B3C43C77355E16B3"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(In thousands)</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:79%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(unaudited)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37,217</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,471</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other comprehensive income (loss), net of tax:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedges:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net unrealized gain (loss), net of tax of $0 and ($4) in 2018 and 2017, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(71</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reclassification of net realized (gain) loss into current operations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">44</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net change related to cash flow hedges</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(27</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Available-for-sale investments:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net unrealized gain (loss), net of tax of ($114) and $92 in 2018 and 2017, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,192</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">511</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reclassification of net realized (gain) loss into current operations</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(22</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(65</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net change related to available-for-sale investments</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,214</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">446</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency translation adjustments:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency translation adjustments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,056</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,481</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net change related to foreign currency translation adjustments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,056</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,481</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other comprehensive income (loss), net of tax</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,842</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,900</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total comprehensive income</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">40,059</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">48,371</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">4</font></div></div><hr style="page-break-after:always"><div><a name="sDDDF6D42F7EB5062B4683728635413E6"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED BALANCE SHEETS</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(In thousands)</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:65%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(unaudited)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ASSETS</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Current assets:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">109,572</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,582</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">337,629</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">297,961</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable, less reserves of $1,664 and $1,568 in 2018 and 2017, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">96,649</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">119,388</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Unbilled revenue</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,232</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,454</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">96,399</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,923</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,068</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,683</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total current assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">670,549</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">629,991</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">356,181</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">423,441</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Property, plant, and equipment, net</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">85,205</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">78,048</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">113,208</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">113,208</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Intangible assets, net</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,420</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,189</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">29,135</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">27,385</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,217</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,491</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total assets</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,268,915</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,287,753</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Current liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts payable</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">29,136</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,463</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56,463</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">68,249</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,915</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,503</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">15,504</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,420</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total current liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">113,018</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">112,635</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">319</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">312</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reserve for income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,958</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,488</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">66,741</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">66,741</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other non-current liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,780</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,904</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">191,816</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">192,080</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Shareholders&#8217; equity:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Common stock, $.002 par value &#8211; Authorized: 200,000 shares in 2018 and 2017, respectively, issued and outstanding: 172,948 and 173,507 shares in 2018 and 2017, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">346</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">347</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Additional paid-in capital</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">485,654</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">461,338</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Retained earnings</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">622,856</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">668,587</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accumulated other comprehensive loss, net of tax</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(31,757</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(34,599</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total shareholders&#8217; equity</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,077,099</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,095,673</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,268,915</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,287,753</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">5</font></div></div><hr style="page-break-after:always"><div><a name="sE1A16C9ED1895DF6B0F8EA7C6666846B"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">CONSOLIDATED STATEMENTS OF CASH FLOWS</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:9pt;">(In thousands)</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:67%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(unaudited)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flows from operating activities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37,217</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,471</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Adjustments to reconcile net income to net cash provided by operating activities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,194</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,483</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Depreciation of property, plant, and equipment</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,430</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,083</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortization of intangible assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">769</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">872</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortization of discounts or premiums on investments</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">86</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Realized (gain) loss on sale of investments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(22</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(65</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revaluation of contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(442</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(275</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Change in deferred income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,469</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">921</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Change in operating assets and liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">24,830</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,238</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Unbilled revenue</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,389</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">953</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(27,321</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5,386</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(866</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12,461</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts payable</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,309</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,167</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(9,927</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3,398</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">186</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">397</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,877</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,839</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(424</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(734</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net cash provided by operating activities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">54,786</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,715</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flows from investing activities:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchases of investments</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(118,108</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(193,612</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Maturities and sales of investments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">144,337</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">171,667</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchases of property, plant, and equipment</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(13,270</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6,095</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash paid for acquisition of business</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(176</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash paid related to discontinued business</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(291</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net cash provided by (used in) investing activities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,959</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(28,507</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flows from financing activities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Issuance of common stock under stock plans</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,123</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,139</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Repurchase of common stock</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(69,202</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(30,067</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Payment of dividends</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7,787</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6,497</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net cash provided by (used in) financing activities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(65,866</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(7,425</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Effect of foreign exchange rate changes on cash and cash equivalents</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,111</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,004</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net change in cash and cash equivalents</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,990</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,787</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents at beginning of period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">106,582</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">79,641</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents at end of period</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">109,572</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92,428</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">6</font></div></div><hr style="page-break-after:always"><div><a name="s6DADF6C629515B2290A6DFB445B0938A"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED STATEMENT OF SHAREHOLDERS&#8217; EQUITY</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(In thousands)</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="23"></td></tr><tr><td style="width:29%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:7%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Common Stock</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Additional</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Paid-in Capital</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Retained Earnings</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Other</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Comprehensive</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Loss</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Shareholders&#8217;</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Equity</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Shares</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Par&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">173,507</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">347</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">461,338</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">668,587</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(34,599</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">1,095,673</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Issuance of common stock under stock plans</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">697</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">1</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">11,122</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">11,123</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Repurchase of common stock</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(1,256</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(69,200</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(69,202</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Stock-based compensation expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">13,194</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">13,194</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Payment of dividends</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(7,787</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(7,787</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Adjustment as a result of the adoption of ASU 2016-16 "Income Taxes - Intra-Entity Transfers Other than Inventory" (Note 12)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(5,961</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(5,961</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net income</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">37,217</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">37,217</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net unrealized gain (loss) on available-for-sale investments, net of tax of ($114)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(1,192</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(1,192</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(22</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(22</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Foreign currency translation adjustment</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">4,056</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">4,056</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Balance as of April 1, 2018 (unaudited)</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">172,948</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">346</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">485,654</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">622,856</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(31,757</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">1,077,099</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">7</font></div></div><hr style="page-break-after:always"><div><a name="s22AB3ABF37515A00BC4C367C8F73DEEE"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</font><font style="font-family:Arial;font-size:12pt;font-weight:bold;">&#32;</font></div><div><a name="sD3411F388D0A593AB696529D51FF6EB7"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 1: Summary of Significant Accounting Policies</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form                      10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP).  As a result of the adoption of ASC 606 "Revenue from Contracts with Customers," Cognex Corporation (the "Company") has provided new disclosures related to revenue recognition in this Quarterly Report on Form 10-Q.  Reference should be made to the consolidated financial statements and related notes included in the Company&#8217;s Annual Report on Form 10-K for the year ended </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;for a full description of other significant accounting policies.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments and financial statement reclassifications, necessary to present fairly the Company&#8217;s financial position as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, and the results of its operations for the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">, and changes in shareholders&#8217; equity, comprehensive income, and cash flows for the periods presented.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The results disclosed in the Consolidated Statements of Operations for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;are not necessarily indicative of the results to be expected for the full year.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue Recognition</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes revenue in accordance with Accounting Standards Codification (ASC) 606, &#8220;Revenue from Contracts with Customers.&#8221; The core principle of ASC 606 is to recognize revenue in a manner that depicts the transfer of promised goods or services to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services.  The framework in support of this core principle includes: (1) identifying the contract with the customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations; and (5) recognizing revenue when (or as) the performance obligations are satisfied.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Identifying the Contract with the Customer</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company identifies contracts with customers as agreements that create enforceable rights and obligations, which typically take the form of customer contracts or purchase orders.  </font></div><div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Identifying the Performance Obligations in the Contract</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company identifies performance obligations as promises in contracts to transfer distinct goods or services. Standard products and services that the Company regularly sells separately are accounted for as distinct performance obligations.  Application-specific customer solutions that are comprised of a combination of products and services are accounted for as one performance obligation to deliver a total solution to the customer.  These solutions are provided to customers in a variety of industries, including the consumer electronics, logistics, and automotive industries.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Shipping and handling activities for which the Company is responsible under the terms and conditions of the sale are not accounted for as performance obligations but as fulfillment costs.  These activities are required to fulfill the Company&#8217;s promise to transfer the good and are expensed when revenue is recognized.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company does not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract.  If revenue is recognized before immaterial promises have been completed, then the costs related to such immaterial promises are accrued at the time of sale.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Determining the Transaction Price</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company determines the transaction price as the amount of consideration it expects to receive in exchange for transferring promised goods or services to the customer.  Amounts collected from customers for sales taxes are excluded from the transaction price. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">If a contract includes a variable amount, such as a rebate, then the Company estimates the transaction price using either the expected value or the most likely amount of consideration to be received, depending upon the specific facts and circumstances.  The Company includes estimated variable consideration in the transaction price only to the extent it is probable that a significant reversal of revenue will not occur when the uncertainty is resolved.  The Company updates its estimate of variable consideration at the end of each reporting period to reflect changes in facts and circumstances.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">8</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Allocating the Transaction Price to the Performance Obligations</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company allocates the transaction price to each performance obligation at contract inception based on a relative stand-alone selling price basis, or the price at which the Company would sell the good or service separately to similar customers in similar circumstances.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Recognizing Revenue When (or As) the Performance Obligations are Satisfied</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes revenue when it transfers the promised goods or services to the customer.  Revenue for standard products is recognized at the point in time when the customer obtains control of the goods, which is typically upon delivery when the customer has legal title, physical possession, the risks and rewards of ownership, and an enforceable obligation to pay for the products.  Revenue for services, which are not material, are typically recognized over the time the services are provided.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue for application-specific customer solutions is recognized at the point in time when the solution is validated, which is the point in time when the Company can objectively determine that the agreed-upon specifications in the contract have been met and the customer will accept the performance obligations in the arrangement.  Although the customer may have taken legal title and physical possession of the goods when they arrived at the customer&#8217;s designed site, the significant risks and rewards of ownership transfer to the customer only upon validation. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In certain instances, an arrangement may include customer-specified acceptance provisions or performance guarantees that allow the customer to accept or reject delivered products that do not meet the customer&#8217;s specifications.  If the Company can objectively determine that control of a good or service has been transferred to the customer in accordance with the agreed-upon specifications in the contract, then customer acceptance is a formality.  If acceptance provisions are presumed to be substantive, then revenue is deferred until customer acceptance.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For the Company&#8217;s standard products and services, revenue recognition and billing typically occur at the same time.  For application-specific customer solutions, however, the agreement with the customer may provide for billing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Credit assessments are performed to determine payment terms, which vary by region, industry, and customer.  Prepayment terms result in contract liabilities for customer deposits.  When credit is granted to customers, payment is typically due 30 to 90 days from billing.  The Company's contracts have an original expected duration of less than one year, and therefore as a practical expedient, the Company has elected to ignore the impact of the time value of money on a contract and to expense sales commissions.  The Company recognizes an asset for costs to fulfill a contract if the costs relate directly to the contract and to future performance, and the costs are expected to be recovered.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management exercises judgment when determining the amount of revenue to be recognized each period.  Such judgments include, but are not limited to, assessing the customer&#8217;s ability and intention to pay substantially all of the contract consideration when due, determining when two or more contracts should be combined and accounted for as a single contract, determining whether a contract modification has occurred, assessing whether promises are immaterial in the context of the contract, determining whether material promises in a contract represent distinct performance obligations, estimating the transaction price for a contract that contains variable consideration, determining the stand-alone selling price of each performance obligation, determining whether control is transferred over time or at a point in time for performance obligations, and assessing whether formal customer acceptance provisions are substantive. </font></div><div><a name="s36499916C15E5BA6A4F164B26350ECEE"></a></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 2: New Pronouncements</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-02, "Leases"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current U.S. GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current U.S. GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current U.S. GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  This ASU should be applied using a modified retrospective approach. Management is in the process of implementing this Update.  As of the date of this report,  management has determined the scope of leases subject to the new accounting requirements and has selected a software package to assist with compliance.  Management is in the process of drafting the internal accounting lease policy and designing the related processes and internal controls.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">9</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&#160; The amendments in this Update eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&#8217;s current estimate of all expected credit losses.  In addition, this Update broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&#160; The amendments in this Update require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.&#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities "</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium). The amendments in this Update shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date.  The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity.   Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium.  The amendments in this Update more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities.  For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle.  Early adoption is permitted, including adoption in an interim period.  Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-12, "Derivatives and Hedging - Targeted Improvements to Accounting for Hedging Activities"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2017-12 applies to all reporting entities that elect to apply hedge accounting.  The hedge accounting requirements under current GAAP sometimes do not permit an entity to properly recognize the economic results of the hedging strategy in the financial statements, and they are difficult to understand and interpret.  The amendments in this Update make certain targeted improvements to simplify the application of the hedge accounting guidance.  Also, they better align the risk management activities and financial reporting for hedging relationships through changes to both 1) the designation and measurement guidance for qualifying hedging relationships and 2) the presentation of hedge results.  For public companies, the amendments in ASU 2017-12 are effective for annual reporting periods beginning after December 15, 2018, and interim reporting periods within those annual periods.  Early adoption is permitted including adoption in any interim period after issuance of the Update.  All transition requirements and elections should be applied to hedging relationships existing on the date of adoption.  The entity should apply a cumulative-effect adjustment related to eliminating the separate measurement of ineffectiveness to accumulated other comprehensive income with a corresponding adjustment to the opening balance of retained earnings as of the beginning of the fiscal year that an entity adopts the amendments in this Update.  The amended presentation and disclosure guidance is required only prospectively.  Management does not expect ASU 2017-12 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-1, "Land Easement Practical Expedient for Transition to Topic 842"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-01 applies to entities with land easements that exist or expired before an entity&#8217;s adoption of Topic 842, provided that the entity does not account for those land easements as leases under Topic 840.  The amendments in this Update permit an entity to elect an optional transition practical expedient to not evaluate under Topic 842 land easements that exist or expired before the entity&#8217;s adoption of Topic 842 and that were not previously accounted for as leases under Topic 840.  An entity that elects this practical expedient should apply the practical expedient consistently to all of its existing or expired land easements that were not previously accounted for as leases under Topic 840.  Once an entity adopts Topic 842, it should apply that Topic prospectively to all new (or modified) land easements to determine whether the arrangement should be accounted for as a lease.  An entity that does not elect this practical expedient </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">10</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">should evaluate all existing or expired land easements in connection with the adoption of the new lease requirements in Topic 842 to assess whether they meet the definition of a lease.  The amendments in this Update affect the amendments in Update 2016-02, which are not yet effective but may be early adopted.  The effective date and transition requirements for the amendments are the same as the effective date and transition requirements in Update 2016-02,  which is for annual periods beginning after December 15, 2018, and interim periods within those annual periods. Management is in the process of evaluating the impact of this Update. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-2, "Income Statement - Reporting Comprehensive Income"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-02 applies to entities required to apply the provisions of Topic 220, Income Statement - Reporting Comprehensive Income, and has items of other comprehensive income for which the related tax effects are presented in other comprehensive income as required by GAAP.  The amendments in this Update allow a reclassification from accumulated other comprehensive income to retained earnings for stranded tax effects resulting from the Tax Cuts and Jobs Act of 2017 (the "Tax Act").  Consequently, the amendments eliminate the stranded tax effects resulting from the Tax Act and will improve the usefulness of information reported to financial statement users.  However, because the amendments only relate to the reclassification of the income tax effects of the Tax Act, the underlying guidance that requires the effect of a change in tax laws or rates to be included in income from continuing operations is not affected.  The amendments in this Update also require certain disclosures about stranded tax effects.  The amendments in this Update are effective for all entities for fiscal years beginning after December 15, 2018, and interim periods within those fiscal years.  Early adoption of the amendments in this Update is permitted, including adoption in any interim period.  The amendments in this Update should be applied either in the period of adoption or retrospectively to each period (or periods) in which the effect of the change in the U.S. federal corporate income tax rate in the Tax Act is recognized.  Management does not expect ASU 2018-2 to have a material impact on the Company's financial statements and disclosures.</font></div><div><a name="s50C5436DE2BB5CD98A1CE80BEF4D7CC8"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 3: Fair Value Measurements</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="11"></td></tr><tr><td style="width:50%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Quoted&#160;Prices&#160;in</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Active Markets</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">for Identical</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Assets (Level 1)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Significant&#160;    Other</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Observable</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Inputs (Level 2)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;"><br>Unobservable<br>Inputs                                                                                                                                                                             (Level 3)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Assets:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,958</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">380,621</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">142,299</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131,678</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,780</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,501</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,931</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,115</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s debt securities and forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2.  Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service.  For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data.  They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations.  </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">11</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency.  The market participants are generally large commercial banks.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company did not record an other-than-temporary impairment of these financial assets during the </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid, using significant inputs that are not observable in the market, and are therefore classified as Level 3.  Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones.  The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the activity for the Company's liabilities measured at fair value using Level 3 inputs for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:85%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(675</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Chiaro contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">52</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to GVi contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">181</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,115</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-financial assets such as property, plant and equipment, goodwill, and intangible assets are required to be measured at fair value only when an impairment loss is recognized.  The Company did not record an impairment charge related to these assets during the </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div><a name="s6A6E837EBFA859DE973ED104A148F43E"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 4: Cash, Cash Equivalents, and Investments</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:63%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">101,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,958</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,631</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">109,572</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,582</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">138,695</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">150,371</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">108,313</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,395</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">75,432</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59,203</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">9,153</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,805</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,036</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,579</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,608</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">337,629</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">297,961</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">272,308</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296,014</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56,246</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">71,727</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">16,744</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,147</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,931</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14,890</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,604</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,459</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,348</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,204</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">356,181</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">423,441</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">803,382</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">827,984</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills consist of debt securities issued by the U.S. government; corporate bonds consist of debt securities issued by both domestic and foreign companies;  asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; municipal bonds consist of debt securities issued by state and local government entities; sovereign bonds consist of direct debt issued by foreign governments; and agency bonds consist of domestic or foreign obligations of government agencies and government sponsored enterprises that have government backing.  All securities are denominated in U.S. Dollars.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">12</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s available-for-sale investments as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"></td></tr><tr><td style="width:44%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Amortized<br>Cost</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br>Unrealized<br>Gains</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br>Unrealized<br>Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,159</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(464</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">138,695</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108,533</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">50</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(270</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108,313</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">75,710</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(283</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">75,432</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,165</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,153</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,040</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,036</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">272,345</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">797</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(834</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">272,308</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56,573</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(341</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56,246</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,779</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(73</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,744</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,930</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,931</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,601</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,604</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,360</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,348</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">695,195</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">909</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(2,294</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">693,810</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"></td></tr><tr><td style="width:29%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized Loss Position For:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Less than 12 Months</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">12 Months or Greater</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172,162</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(812</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,693</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(292</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">195,855</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,104</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,209</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(277</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">42,487</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(187</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">138,696</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(464</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">112,632</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,640</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(10</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">115,272</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(624</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,599</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,730</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(69</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,329</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(78</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,196</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,196</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">388,798</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,736</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">77,550</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(558</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">466,348</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(2,294</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, the Company did not recognize any other-than-temporary impairment of these investments.  In its evaluation, management considered the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, the Company's intent and ability to hold the security to expected recovery of value, and other meaningful information.  The Company does not intend to sell, and is unlikely to be required to sell, any of these available-for-sale investments before their effective maturity or market price recovery.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling </font><font style="font-family:Arial;font-size:10pt;">$55,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$33,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$88,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$23,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">.  These gains and losses are included in "Investment income" on the Consolidated Statement of Operations.  Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders&#8217; equity as other comprehensive income (loss).</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">13</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the effective maturity dates of the Company&#8217;s available-for-sale investments as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="28"></td></tr><tr><td style="width:24%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">&lt;1 year</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">1-2 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">2-3 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">3-4 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">4-5 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">5-7 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108,313</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116,223</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97,412</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">36,342</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18,961</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,370</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">380,621</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">138,695</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,604</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">142,299</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">75,432</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,411</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,923</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,504</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,336</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,072</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131,678</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,036</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,995</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,749</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,780</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,153</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,348</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,501</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,931</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,931</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">337,629</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">166,233</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">111,432</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">42,846</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">27,228</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,442</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">693,810</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><a name="sE3A0CFC549CB53F282D2FA9066866E2A"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 5: Inventories</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:63%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Raw materials</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">42,759</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,927</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Work-in-process</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,192</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,114</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Finished goods</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">51,448</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31,882</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">96,399</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,923</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><a name="sa55a05b696c04437abb99d164e2fd652"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 6:&#160; Intangible Assets</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:53%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,687</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,791</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,896</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,607</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,330</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,277</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-compete agreements</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">370</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">123</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">247</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">60,724</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">48,304</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,420</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,687</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,181</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,506</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,607</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,202</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,405</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-compete agreements</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">370</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">278</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">60,724</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,535</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,189</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of April 1, 2018, estimated future amortization expense related to intangible assets is as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:82%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2018</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,307</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,701</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,185</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,017</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2022</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,691</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2023</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">989</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">530</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,420</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">14</font></div></div><hr style="page-break-after:always"><div><a name="sDC44964C9FA25B46B41180847D2A25DF"></a></div><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 7: Warranty Obligations</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims.  Obligations may also be recorded subsequent to the time of sale whenever specific events or circumstances impacting product quality become known that would not have been taken into account using historical data.  While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company&#8217;s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure.  An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in &#8220;Accrued expenses&#8221; on the Consolidated Balance Sheets.</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:82%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,701</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">697</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(802</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,712</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><a name="s876888AD643D5942A2D644296B80975C"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 8: Derivative Instruments</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates.  Currently, the Company enters into </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;">&#32;types of hedges to manage this risk.  The first are economic hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">45</font><font style="font-family:Arial;font-size:10pt;">&#32;days to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables.  The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged.  These economic hedges are not designated as hedging instruments for hedge accounting treatment.  The second are cash flow hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">18 months</font><font style="font-family:Arial;font-size:10pt;">&#32;to hedge specific forecasted transactions of the Company's foreign subsidiaries with the goal of protecting the Company's budgeted revenues and expenses against foreign currency exchange rate changes compared to its budgeted rates.  These cash flow hedges are designated as hedging instruments for hedge accounting treatment. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="14"></td></tr><tr><td style="width:47%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:10%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Currency</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Notional<br>Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">USD<br>Equivalent</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Notional<br>Value</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">USD<br>Equivalent</font></div></td></tr><tr><td colspan="7" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">565,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,299</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">455,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,049</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Swiss Franc</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,600</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,072</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,365</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,401</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,300</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,824</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,650</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,232</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">400,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,576</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">545,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,110</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">43,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,480</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,725</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,278</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Korean Won</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">655,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">616</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,825,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,708</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">15</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20"></td></tr><tr><td style="width:16%;"></td><td style="width:17%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:10%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:10%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br>Location</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br>Location</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid&#160;expenses&#160;and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid&#160;expenses&#160;and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="19"></td></tr><tr><td style="width:21%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:10%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:22%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:10%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April&#160;1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April&#160;1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of assets presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="10"></td></tr><tr><td style="width:49%;"></td><td style="width:27%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Location in Financial Statements</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recorded in shareholders' equity (effective portion)</font></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accumulated other comprehensive income (loss), net of tax</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(55</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(44</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td colspan="10" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(310</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(81</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">16</font></div></div><hr style="page-break-after:always"><div><a name="s5d43f2a0721c415fa564e129165a3940"></a></div><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 9: Revenue Recognition</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On January 1, 2018, the Company adopted Accounting Standards Codification (ASC) 606, "Revenue from Contracts with Customers," using the full retrospective method to present all periods reported on a consistent basis.  Accordingly, prior-period results have been restated to apply the provisions of this ASC.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As a result of this adoption, revenue for software-only products sold as part of multiple-deliverable arrangements are no longer deferred when vendor-specific objective evidence of fair value does not exist for the undelivered elements of the arrangement. This change results in earlier recognition of revenue.  In addition, certain of the Company&#8217;s product accessory sales, which were reported on a net basis, are now reported on a gross basis as a result of applying the expanded guidance in the new standard related to principal versus agent considerations.  This change results in the Company reporting higher revenue and higher cost of revenue when these sales are reported on a gross basis, although the gross margin dollars do not change.  Furthermore, for arrangements that include customer-specified acceptance criteria, revenue is recognized when the Company can objectively determine that control has been transferred to the customer in accordance with the agreed-upon specifications in the contract, which may occur before formal customer acceptance.  This change primarily impacts revenue recognition for arrangements in the logistics industry where certain customer solutions include installed ID products and results in earlier recognition of revenue.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The adoption of the standard impacted our previously-reported results as follows (in thousands): </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:58%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Statement of Operations</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As previously reported</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Adjustment</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As restated</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">134,942</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,097</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,039</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">28,225</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,307</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32,532</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross margin</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,717</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(210</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,507</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Operating income</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,426</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(210</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,216</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income before income tax expense</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">39,445</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(210</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">39,235</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax expense (benefit)</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6,210</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(26</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6,236</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,655</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(184</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,471</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income per weighted-average common and common-equivalend share:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.26</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.26</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Diluted</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.26</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(0.01</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.25</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:58%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Balance Sheet</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As previously reported</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Adjustment</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As restated</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,800</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(117</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,683</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,391</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">112</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,503</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,969</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(549</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,420</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Retained earnings</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">668,267</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">320</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">668,587</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">17</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="9"></td></tr><tr><td style="width:72%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months ended</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April&#160;1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Americas</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">59,217</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">42,540</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Europe</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56,203</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">43,107</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Greater China</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">27,159</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,706</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other Asia</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,988</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,686</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">169,567</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,039</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by revenue type (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="9"></td></tr><tr><td style="width:72%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months ended</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April&#160;1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Standard products and services</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">158,399</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">133,017</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Application-specific customer solutions</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,168</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,022</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">169,567</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">139,039</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Costs to Fulfill a Contract</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to </font><font style="font-family:Arial;font-size:10pt;">$4,615,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$3,230,000</font><font style="font-family:Arial;font-size:10pt;">&#32;as of April 1, 2018 and December 31, 2017, respectively. </font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounts Receivable, Contract Assets, and Contract Liabilities</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value.  The Company maintains reserves against its accounts receivable for potential credit losses.  Credit losses recognized on accounts receivable were immaterial for the three-month periods ended April 1, 2018 and April 2, 2017, respectively.  Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts.  Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.</font></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the deferred revenue and customer deposits activity for the three-month period ended April 1, 2018 (in thousands):</font></div><div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:80%;"></td><td style="width:1%;"></td><td style="width:18%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amount</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,420</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Increases to deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,751</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Recognition of revenue</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5,875</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">208</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,504</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">18</font></div></div><hr style="page-break-after:always"><div><a name="sF243BD76301B558CB59DE991319A9C6C"></a></div><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 10: Stock-Based Compensation Expense</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock awards.  As of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, the Company had </font><font style="font-family:Arial;font-size:10pt;">10,160,452</font><font style="font-family:Arial;font-size:10pt;">&#32;shares available for grant.  Stock options are granted with an exercise price equal to the market value of the Company&#8217;s common stock at the grant date and generally vest over </font><font style="font-family:Arial;font-size:10pt;">four</font><font style="font-family:Arial;font-size:10pt;">&#32;or five years based upon continuous service and expire </font><font style="font-family:Arial;font-size:10pt;">ten</font><font style="font-family:Arial;font-size:10pt;">&#32;years from the grant date.  Restricted stock awards are granted with an exercise price equal to the market value of the Company's common stock at the time of grant.  Conditions of the award may be based on continuing employment and/or achievement of pre-established performance goals and objectives.  Vesting for performance-based restricted stock awards and time-based restricted stock awards must not be less than </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;">&#32;year and </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">&#32;years, respectively; however, awards with time-based vesting may become vested incrementally over such three-year period. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s stock option activity for the </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">:</font></div><div style="line-height:120%;padding-left:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:39%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exercise</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Price</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Remaining</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Contractual</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Term&#160;(in&#160;years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Intrinsic</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,726</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25.24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,043</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56.44</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercised</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(697</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15.96</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(68</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25.84</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">14,004</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">30.25</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">317,169</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercisable as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,879</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">19.88</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6.5</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">156,676</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;background-color:#cceeff;">Options vested or expected to vest as of April 1, 2018 (1)</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,377</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">28.99</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.8</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">294,379</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;">&#160; </font></div><div style="line-height:120%;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future.  Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6"></td></tr><tr><td style="width:71%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Risk-free rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2.9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected dividend yield</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.32</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.39</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected volatility</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">39</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected term (in years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.3</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.3</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Risk-free rate</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected dividend yield</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company&#8217;s Board of Directors and dividing that result by the closing stock price on the grant date.&#160;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected volatility</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The expected volatility was based upon a combination of historical volatility of&#160;the Company&#8217;s common stock over the contractual term of the option and implied volatility for traded options of the Company&#8217;s stock.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected term</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">19</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company stratifies its employee population into </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;">&#32;groups: one consisting of senior management and another consisting of all other employees.  The Company currently applies an estimated annual forfeiture rate of </font><font style="font-family:Arial;font-size:10pt;">8%</font><font style="font-family:Arial;font-size:10pt;">&#32;to all unvested options for senior management and a rate of </font><font style="font-family:Arial;font-size:10pt;">12%</font><font style="font-family:Arial;font-size:10pt;">&#32;for all other employees.  The Company revised its estimated forfeiture rates in the three-month period ended April 1, 2018, resulting in an increase to compensation expense of </font><font style="font-family:Arial;font-size:10pt;">$1,283,000</font><font style="font-family:Arial;font-size:10pt;">. The Company also revised its estimated forfeiture rates in the three-month period ended April 2, 2017, resulting in an decrease to compensation expense of </font><font style="font-family:Arial;font-size:10pt;">$673,000</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The weighted-average grant-date fair values of stock options granted during the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$21.62</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$14.95</font><font style="font-family:Arial;font-size:10pt;">, respectively. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The total intrinsic values of stock options exercised for the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$28,088,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$53,043,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  The total fair values of stock options vested for the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$25,674,000</font><font style="font-family:Arial;font-size:10pt;">&#32;&#32;and </font><font style="font-family:Arial;font-size:10pt;">$17,987,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, total unrecognized compensation expense related to non-vested stock options was </font><font style="font-family:Arial;font-size:10pt;">$63,749,000</font><font style="font-family:Arial;font-size:10pt;">, which is expected to be recognized over a weighted-average period of </font><font style="font-family:Arial;font-size:10pt;">2.02</font><font style="font-family:Arial;font-size:10pt;">&#32;years.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's restricted stock activity for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">: </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="11"></td></tr><tr><td style="width:48%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares                   (in thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average     Grant Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate Intrinsic Value                  (in thousands)(1)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">17.03</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vested</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">17.03</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,040</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:174%;text-align:justify;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1) Fair market value as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The fair values of restricted stock awards granted were determined based upon the market value of the Company's common stock at the time of grant.  The initial cost is then amortized over the period of vesting until the restrictions lapse.  These restricted shares will be fully vested in 2018.  Participants are entitled to dividends on restricted stock awards, but only receive those amounts if the shares vest.  The sale or transfer of these shares is restricted during the vesting period.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$13,194,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$2,347,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, and for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$7,483,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$2,439,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  </font><font style="font-family:Arial;font-size:10pt;">No</font><font style="font-family:Arial;font-size:10pt;">&#32;compensation expense was capitalized as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;or </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:69%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">797</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">430</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,815</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,610</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,582</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,443</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,194</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,483</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">20</font></div></div><hr style="page-break-after:always"><div><a name="sF8AD2CD0947A5C64ACDEDA4DB2C32BDE"></a></div><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 11: Stock Repurchase Program</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In April 2017, the Company's Board of Directors authorized the repurchase of </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;">&#32;of the Company's common stock.  As of April 1, 2018, the Company repurchased </font><font style="font-family:Arial;font-size:10pt;">1,744,000</font><font style="font-family:Arial;font-size:10pt;">&#32;shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;">&#32;under this program, including </font><font style="font-family:Arial;font-size:10pt;">803,000</font><font style="font-family:Arial;font-size:10pt;">&#32;shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$45,200,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in the three-month period ended April 1, 2018.  Stock repurchases under this April 2017 program are now complete.  In February 2018, the Company's Board of Directors authorized the repurchase of an additional </font><font style="font-family:Arial;font-size:10pt;">$150,000,000</font><font style="font-family:Arial;font-size:10pt;">&#32;of the Company's common stock.  As of April 1, 2018, the Company repurchased </font><font style="font-family:Arial;font-size:10pt;">453,000</font><font style="font-family:Arial;font-size:10pt;">&#32;shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$24,002,000</font><font style="font-family:Arial;font-size:10pt;">&#32;under this program, leaving a remaining authorized balance of </font><font style="font-family:Arial;font-size:10pt;">$125,998,000</font><font style="font-family:Arial;font-size:10pt;">.  Total stock repurchases for the three-month period ended April 1, 2018 amounted to </font><font style="font-family:Arial;font-size:10pt;">$69,202,000</font><font style="font-family:Arial;font-size:10pt;">.  The Company may repurchase shares under this program in future periods depending upon a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.</font></div><div><a name="s0C289CC89F7F536B81AC1EBD9347C103"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 12: Taxes</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A reconciliation of the United States federal statutory corporate tax rate to the Company&#8217;s income tax expense, or effective tax rate, was as follows:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6"></td></tr><tr><td style="width:77%;"></td><td style="width:10%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:10%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision at federal statutory corporate tax rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">21</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Tax credit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to stock option exercises</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(33</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other discrete tax events</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On December 22, 2017, the United States Congress passed and the President signed into law the Tax Act.  The Tax Act included a decrease in the U.S. federal statutory corporate tax rate from </font><font style="font-family:Arial;font-size:10pt;">35%</font><font style="font-family:Arial;font-size:10pt;">&#32;to </font><font style="font-family:Arial;font-size:10pt;">21%</font><font style="font-family:Arial;font-size:10pt;">, a one-time transition tax on unrepatriated foreign earnings, and limits on certain deductions.  The Company made what it considers to be a reasonable estimate of the impact of the Tax Act in its financial statements for the year ended December 31, 2017.  The Company has not recorded any changes to this estimate for the three-month period ended April 1, 2018.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Securities and Exchange Commission (SEC) released Staff Accounting Bulletin (SAB) No. 118 to provide guidance to companies on how to implement the accounting and disclosure changes as a result of the Tax Act.  The SEC staff guidance has recognized that, due to the complexity and timing of the release of the Tax Act, the accounting for this change in the law may be incomplete upon issuance of a company's financial statements.  This significant estimate is highly judgmental and changes to this estimate could result in material charges or credits in future reporting periods.  U.S. Treasury regulations and administrative guidance have not been finalized as of the date of these financial statements.  The issuance of final regulations may require the Company to revise its estimates of earnings and profits, as well as certain deferred taxes as required.  The Tax Act subjects the Company to current tax on Global Intangible Low-Taxed Income (GILTI) earned by certain foreign subsidiaries.&#160; The Company can make an accounting policy election to either recognize deferred taxes for temporary differences expected to reverse as GILTI in future years or provide for the tax expense related to GILTI resulting from those items in the year the tax is incurred.  As of the date of this report, the Company is still evaluating the guidance and has not made a policy election related to the treatment of the GILTI tax.  The Company will continue to gather and analyze information on historical unrepatriated foreign earnings and to monitor state laws relating to this income to finalize both the federal and state tax impact.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The majority of income earned outside of the United States is indefinitely reinvested to provide funds for international expansion.  The Company is tax resident in numerous jurisdictions around the world and has identified its major jurisdictions as the United States, Ireland, and China.  The statutory tax rate is </font><font style="font-family:Arial;font-size:10pt;">12.5%</font><font style="font-family:Arial;font-size:10pt;">&#32;in Ireland and </font><font style="font-family:Arial;font-size:10pt;">25%</font><font style="font-family:Arial;font-size:10pt;">&#32;in China, compared to the U.S. federal statutory corporate tax rate of </font><font style="font-family:Arial;font-size:10pt;">21%</font><font style="font-family:Arial;font-size:10pt;">.  International rights to certain of the Company's intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate that is lower than the above mentioned statutory rates, although the reduced taxes overseas have </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">21</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">been partially offset by changes in U.S. tax law.  These differences resulted in a decrease in the effective tax rate by </font><font style="font-family:Arial;font-size:10pt;">7</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">18</font><font style="font-family:Arial;font-size:10pt;">&#32;percentage points for the three-month periods ended April 1, 2018 and April 2, 2017, respectively. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises resulted in a decrease of the effective tax rate by </font><font style="font-family:Arial;font-size:10pt;">13</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">33</font><font style="font-family:Arial;font-size:10pt;">&#32;percentage points for the three-month periods ended April 1, 2018 and April 2, 2017, respectively. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On January 1, 2018, the Company adopted Accounting Standard Update (ASU) 2016-16, "Income Taxes - Intra-Entity Transfers of Assets Other than Inventory."  This Update requires the recognition of deferred income taxes for an intra-entity transfer of an asset other than inventory.  As a result of this ASU, the Company recorded </font><font style="font-family:Arial;font-size:10pt;">$5,961,000</font><font style="font-family:Arial;font-size:10pt;">&#32;through a cumulative-effect adjustment directly to retained earnings at the beginning of fiscal year 2018. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">During the </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, the Company recorded a </font><font style="font-family:Arial;font-size:10pt;">$484,000</font><font style="font-family:Arial;font-size:10pt;">&#32;increase in reserves for income taxes, net of deferred tax benefit.  Estimated interest and penalties included in these amounts totaled </font><font style="font-family:Arial;font-size:10pt;">$70,000</font><font style="font-family:Arial;font-size:10pt;">&#32;for the </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s reserve for income taxes, including gross interest and penalties, was </font><font style="font-family:Arial;font-size:10pt;">$7,986,000</font><font style="font-family:Arial;font-size:10pt;">&#32;as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, which included </font><font style="font-family:Arial;font-size:10pt;">$6,958,000</font><font style="font-family:Arial;font-size:10pt;">&#32;classified as a non-current liability and </font><font style="font-family:Arial;font-size:10pt;">$1,028,000</font><font style="font-family:Arial;font-size:10pt;">&#32;recorded as a reduction to non-current deferred tax assets.  The amount of gross interest and penalties included in these balances was </font><font style="font-family:Arial;font-size:10pt;">$847,000</font><font style="font-family:Arial;font-size:10pt;">.  If the Company&#8217;s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.  As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately </font><font style="font-family:Arial;font-size:10pt;">$1,100,000</font><font style="font-family:Arial;font-size:10pt;">&#32;to </font><font style="font-family:Arial;font-size:10pt;">$1,200,000</font><font style="font-family:Arial;font-size:10pt;">&#32;over the next twelve months.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has defined its major tax jurisdictions as the United States, Ireland and China, and within the United States, Massachusetts.  Within the United States, the tax years </font><font style="font-family:Arial;font-size:10pt;">2014 through 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;remain open to examination by the Internal Revenue Service and various state tax authorities.  The tax years </font><font style="font-family:Arial;font-size:10pt;">2013 through 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. </font></div><div><a name="s7F5631929F6E5B0F9C35CBE191304525"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 13: Weighted-Average Shares</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6"></td></tr><tr><td style="width:77%;"></td><td style="width:10%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:10%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">173,280</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172,646</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Effect of dilutive stock options</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,361</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,708</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">179,641</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">178,354</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock options to purchase </font><font style="font-family:Arial;font-size:10pt;">1,339,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">1,648,000</font><font style="font-family:Arial;font-size:10pt;">&#32;shares of common stock, on a weighted-average basis, were outstanding during the three-month periods ended April 1, 2018 and April 2, 2017, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.</font></div><div><a name="sDEFD87D7EB6B568D8420DEAD7219B410"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 14: Subsequent Events</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On April 25, 2018, the Company's shareholders approved an amendment to the Company's Articles of Organization to increase the authorized number of shares of common stock from&#160;</font><font style="font-family:Arial;font-size:10pt;">200,000,000</font><font style="font-family:Arial;font-size:10pt;">&#160;to&#160;</font><font style="font-family:Arial;font-size:10pt;">300,000,000</font><font style="font-family:Arial;font-size:10pt;">.  In addition, on April 25, 2018, the Company's shareholders approved an amendment and restatement of the Company's 2001 General Stock Option Plan which provides for an increase in the number of available shares by </font><font style="font-family:Arial;font-size:10pt;">10,000,000</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On April 30, 2018, the Company&#8217;s Board of Directors declared a cash dividend of </font><font style="font-family:Arial;font-size:10pt;">$0.045</font><font style="font-family:Arial;font-size:10pt;">&#32;per share.  The dividend is payable </font><font style="font-family:Arial;font-size:10pt;">June&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;to all shareholders of record as of the close of business on </font><font style="font-family:Arial;font-size:10pt;">May&#160;18, 2018</font><font style="font-family:Arial;font-size:10pt;">. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">22</font></div></div><hr style="page-break-after:always"><div><a name="s1EFC684E94275C939CCE9A8AE7FB2B76"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;2: MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Forward-Looking Statements</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certain statements made in this report, as well as oral statements made by the Company from time to time, constitute forward-looking statements within the meaning of Section&#160;27A of the Securities Act of 1933, as amended, and Section&#160;21E of the Securities Exchange Act of 1934, as amended. Readers can identify these forward-looking statements by our use of the words &#8220;expects,&#8221; &#8220;anticipates,&#8221; &#8220;estimates,&#8221; &#8220;believes,&#8221; &#8220;projects,&#8221; &#8220;intends,&#8221; &#8220;plans,&#8221; &#8220;will,&#8221; &#8220;may,&#8221; &#8220;shall,&#8221; &#8220;could,&#8221; &#8220;should,&#8221; and similar words and other statements of a similar sense.  These statements are based upon our current estimates and expectations as to prospective events and circumstances, which may or may not be in our control and as to which there can be no firm assurances given.  These forward-looking statements, which include statements regarding business and market trends, future financial performance, customer order rates and timing of related revenue, expected areas of growth, emerging markets, future product mix, research and development activities, investments, and strategic plans, involve known and unknown risks and uncertainties that could cause actual results to differ materially from those projected.  Such risks and uncertainties include: (1)&#160;the loss of a large customer; (2)&#160;current and future conditions in the global economy; (3)&#160;the reliance on revenue from the consumer electronics or automotive industries; (4)&#160;the inability to penetrate new markets; (5)&#160;the inability to achieve significant international revenue; (6)&#160;fluctuations in foreign currency exchange rates and the use of derivative instruments; (7)&#160;information security breaches or business system disruptions; (8)&#160;the inability to attract and retain skilled employees; (9) the failure to effectively manage our growth; (10)&#160;the reliance upon key suppliers to manufacture and deliver critical components for our products; (11)&#160;the failure to effectively manage product transitions or accurately forecast customer demand; (12)&#160;the inability to design and manufacture high-quality products; (13)&#160;the technological obsolescence of current products and the inability to develop new products; (14)&#160;the failure to properly manage the distribution of products and services; (15)&#160;the inability to protect our proprietary technology and intellectual property; (16)&#160;our involvement in time-consuming and costly litigation; (17)&#160;the impact of competitive pressures; (18)&#160;the challenges in integrating and achieving expected results from acquired businesses; (19)&#160;potential impairment charges with respect to our investments or for acquired intangible assets or goodwill; and (20)&#160;exposure to additional tax liabilities.  The foregoing list should not be construed as exhaustive and we encourage readers to refer to the detailed discussion of risk factors included in Part I - Item&#160;1A of the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2017.  The Company cautions readers not to place undue reliance upon any such forward-looking statements, which speak only as of the date made. The Company disclaims any obligation to subsequently revise forward-looking statements to reflect the occurrence of anticipated or unanticipated events or circumstances after the date such statements are made.</font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Executive Overview</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Corporation is a leading worldwide provider of machine vision products that capture and analyze visual information in order to automate tasks, primarily in manufacturing processes, where vision is required.  In addition to product revenue derived from the sale of machine vision products, the Company also generates revenue by providing maintenance and support, consulting, and training services to its customers; however, service revenue accounted for less than 10% of total revenue for all periods presented.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s customers are predominantly in the factory automation market.  Factory automation customers purchase Cognex products and incorporate them into their manufacturing processes.  Customers in the consumer electronics and automotive industries contribute the largest percentage to the Company's factory automation revenue.  Most manufacturers can achieve better quality and manufacturing efficiency by using machine vision, and therefore, this market also includes a broad base of customers across a variety of other industries, including consumer products, food and beverage, medical devices, and pharmaceuticals.  Factory automation customers also purchase Cognex products for use outside of the manufacturing process, such as using ID products in logistics automation for package sorting and distribution.  A small percentage of the Company&#8217;s customers are in the semiconductor and electronics capital equipment market.  These customers purchase Cognex products and integrate them into the automation equipment that they manufacture and then sell to their customers to either make semiconductor chips or assemble printed circuit boards. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On January 1, 2018, the Company adopted Accounting Standards Codification (ASC) 606, "Revenue from Contracts with Customers," using the full retrospective method to present all periods reported on a consistent basis.  Accordingly, prior period revenue, cost of revenue, and gross profit have been restated to apply the provisions of this ASC.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue for the first quarter of 2018 totaled $169,567,000, representing an increase of 22% from the first quarter of 2017 driven primarily by strong sales in the logistics and automotive industries.  A shift in revenue mix toward service-</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">23</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">related revenue resulted in a slight decline in the gross margin percentage to 76% of revenue in the first quarter of 2018 compared to 77% of revenue in the first quarter of 2017.  Operating expenses increased by 37% over the prior year due principally to the impact of headcount additions to support the higher revenue level and future growth plans.  The operating income margin was 20% of revenue in the first quarter of 2018 compared to 27% of revenue in the first quarter of 2017.  A lower tax benefit related to stock option exercises than the prior year resulted in a net income margin of 22% of revenue in the first quarter of 2018 compared to 33% of revenue in the first quarter of 2017.  Net income per diluted share was $0.21 in the first quarter of 2018 compared to $0.25 in the first quarter of 2017.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Results of Operations</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As foreign currency exchange rates are a factor in understanding period-to-period comparisons, we believe the presentation of results on a constant-currency basis in addition to reported results helps improve investors&#8217; ability to understand our operating results and evaluate our performance in comparison to prior periods.  We also use results on a constant-currency basis as one measure to evaluate our performance.  Constant-currency information compares results between periods as if exchange rates had remained constant period-over-period.  We generally refer to such amounts calculated on a constant-currency basis as excluding the impact of foreign currency exchange rate changes.  Results on a constant-currency basis are not in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) and should be considered in addition to, and not as a substitute for, results prepared in accordance with U.S. GAAP.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue</font></div><div style="line-height:120%;padding-bottom:10px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue for the first quarter of 2018 totaled $169,567,000, representing an increase of $30,528,000, or 22%, from the first quarter of 2017.  Changes in foreign currency exchange rates, primarily related to the translation of Euro-denominated revenue to U.S. Dollars, accounted for approximately 5% of the revenue increase.  The remaining constant-currency increase of 17% was driven by higher sales in the logistics and automotive industries, partially offset by lower sales in the consumer electronics industry.</font></div><div style="line-height:120%;padding-bottom:10px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of the date of this report, we expect revenue for the second quarter of 2018 to increase sequentially from the first quarter of 2018.  Although we expect this growth to come from a variety of industries, the most notable increase is expected to come from the consumer electronics industry due to the quarterly timing of revenue from large customer orders in this industry, which in turn is dependent upon the product introduction cycles of these customers.  Despite the level of quarterly revenue currently anticipated from customers in the consumer electronics industry in the second quarter of 2018, we expect consumer electronics revenue to be lower for the full year 2018 as compared to 2017.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Gross Margin</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross margin as a percentage of revenue was 76% for the first quarter of 2018 compared to 77% for the first quarter of 2017.  Although a higher volume of products sold resulted in manufacturing efficiencies, this favorable impact was offset by a greater percentage of service-related revenue, including revenue in the logistics industry where certain customer solutions included installation services with relatively lower margins.  In addition, logistics revenue for the first quarter of 2018 included large customer orders that received volume discounts.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company's gross margin percentage has ranged from the mid-to-high 70s for the past several years.  As of the date of this report, we expect the gross margin percentage to be closer to the mid-point of this range in the second quarter of 2018 due to anticipated higher revenue from a material customer under a preferred pricing arrangement.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Operating Expenses</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, Development, and Engineering Expenses increased by $8,306,000, or 36%, for the three-month period as detailed in the table below (in thousands).</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:84%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-month period</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses in the first quarter of 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,770</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Personnel-related costs</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,739</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,129</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prototyping materials</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,054</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">916</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,468</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses in the first quarter of 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">31,076</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">24</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses increased due to higher personnel-related costs resulting primarily from headcount additions to support new product initiatives and the higher revenue level.  The Company also incurred higher spending on prototyping materials to support new product initiatives.  In addition, stock-based compensation expense was higher than the prior year due to a higher valuation of stock options granted during the first quarter of 2018.  Changes in foreign currency exchange rates also contributed to the increase, as expenses denominated in foreign currencies were translated to U.S. Dollars. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses as a percentage of revenue were 18% and 16% for the first quarters of 2018 and 2017, respectively.  We believe that a continued commitment to RD&amp;E activities is essential in order to maintain or achieve product leadership with our existing products and to provide innovative new product offerings, as well as to provide engineering support for large customers.  In addition, we consider our ability to accelerate time to market for new products to be critical to our revenue growth.  Therefore, we expect to continue to make significant RD&amp;E investments in the future, and we target our RD&amp;E spending to be between 10% and 15% of revenue on an annual basis.  This quarterly percentage is impacted by revenue levels and investing cycles. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Selling, General, and Administrative Expenses</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative (SG&amp;A) expenses  increased by $17,176,000, or 37%, for the three-month period as detailed in the table below (in thousands). </font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:84%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-month period</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SG&amp;A expenses in the first quarter of 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,521</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Personnel-related costs</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,456</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,013</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,082</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Depreciation expense</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,056</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,569</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SG&amp;A expenses in the first quarter of 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">63,697</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SG&amp;A expenses increased due to higher personnel-related costs resulting primarily from headcount additions, principally sales personnel.   In addition to salaries and fringe benefits, these personnel-related costs included sales commissions and travel expenses related to the additional headcount.  In addition, stock-based compensation expense was higher than the prior year due to a higher valuation of stock options granted during the first quarter of 2018.  Changes in foreign currency exchange rates also contributed to the increase, as expenses denominated in foreign currencies were translated to U.S. Dollars.  Depreciation expense was higher than the prior year due primarily to information technology investments in infrastructure, security, and business applications.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-operating Income (Expense)</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded foreign currency losses of $134,000 and $263,000 for the first quarters of 2018 and 2017, respectively.  Foreign currency gains and losses result primarily from the revaluation and settlement of accounts receivable, accounts payable, and intercompany balances that are reported in one currency and collected in another. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Investment income increased by $1,228,000, or 61%, from the first quarter of 2017.  The increase was due to higher yields on the Company's portfolio of debt securities, as well as additional funds available for investment.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded other income of $277,000 and $270,000 for the first quarters of 2018 and 2017, respectively.  Other income (expense) includes fair value adjustments of contingent consideration liabilities arising from business acquisitions, as well as rental income, net of associated expenses, from leasing space in buildings adjacent to the Company&#8217;s corporate headquarters.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Income Tax Expense</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s effective tax rate was an expense of 2% of pre-tax income for the first quarter of 2018 and a benefit of 16% of pre-tax income for the first quarter of 2017.</font></div><div style="line-height:120%;padding-bottom:10px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The effective tax rate included a decrease in tax expense of $4,935,000 in the first quarter of 2018 and $13,167,000 in the first quarter of 2017 from the excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises.  The Company cannot predict the level of stock option exercises by employees in future periods.  </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">25</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Excluding the impact of these discrete tax events, the Company&#8217;s effective tax rate was approximately 15% for the first quarter of 2018 and 18% for the first quarter of 2017.  This decrease in the effective tax rate was primarily due to the impact of the Tax Cuts and Job Act of 2017 (the "Tax Act") that was signed into law on December 22, 2017.  This Tax Act included a decrease in the U.S. federal statutory corporate tax rate from 35% to 21%.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The majority of income earned outside of the United States is indefinitely reinvested to provide funds for international expansion.  The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United States, Ireland, and China.  The statutory tax rate is 12.5% in Ireland and 25% in China.  International rights to certain of the Company&#8217;s intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate lower than the above mentioned statutory rates.  The Company has not yet determined how the Tax Act will impact its financial statement assertion related to indefinite reinvestment in future years.</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liquidity and Capital Resources</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has historically been able to generate positive cash flow from operations, which has funded its operating activities and other cash requirements and has resulted in an accumulated cash and investment balance of $803,382,000 as of April 1, 2018.  The Company has established guidelines relative to credit ratings, diversification, and maturities of its investments that maintain liquidity.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s cash requirements during the first quarter of 2018 were met with positive cash flows from operations, investment maturities, and the proceeds from stock option exercises.  Cash requirements consisted of operating activities, investment purchases, the repurchase of common stock, the payment of dividends, and capital expenditures.  Operating cash inflows included the collection of a significant amount of accounts receivable from a material customer in the consumer electronics industry.  Operating cash outflows included the purchase of inventory for large customer orders already received or anticipated to be received that are expected to ship and generate revenue later in 2018, as well as the payment of company bonuses that were earned and accrued in 2017.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Capital expenditures in the first quarter of 2018 totaled $13,270,000 and consisted primarily of computer hardware and software, manufacturing test equipment related to new product introductions, and improvements made to the Company's headquarters building in Natick, Massachusetts and distribution center in Cork, Ireland.  Cumulative capital expenditures since the second quarter of 2017 related to application development activities for a new Enterprise Resource Planning (ERP) system totaled approximately $8,000,000 as of April 1, 2018.  The Company expects to incur an additional $2,000,000 in capital expenditures related to the ERP system in the second quarter of 2018, resulting in a $10,000,000 capital asset that the Company expects to be placed into service at the beginning of the third quarter of 2018 and depreciate over a ten year estimated useful life.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In April 2017, the Company's Board of Directors authorized the repurchase of $100,000,000 of the Company's common stock.  As of April 1, 2018, the Company repurchased 1,744,000 shares at a cost of $100,000,000 under this program, including 803,000 shares at a cost of $45,200,000 in the first quarter of 2018.  Stock repurchases under this April 2017 program are now complete.  In February, 2018, the Company's Board of Directors authorized the repurchase of an additional $150,000,000 of the Company's common stock.  As of April 1, 2018, the Company repurchased 453,000 shares at a cost of $24,002,000 under this program, leaving a remaining authorized balance of $125,998,000.  Total stock repurchases in the first quarter of 2018 amounted to $69,202,000.  The Company may repurchase shares under this program in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s Board of Directors declared and paid a cash dividend of $0.045 per share in the first quarter of 2018, amounting to $7,787,000.  Future dividends will be declared at the discretion of the Company&#8217;s Board of Directors and will depend upon such factors as the Board deems relevant including, among other things, the Company&#8217;s ability to generate positive cash flows from operations.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s business strategy includes selective expansion into new machine vision markets and applications through the acquisition of businesses and technologies.  The Company has completed seven business acquisitions since August 2015, none of which are significant individually or in the aggregate to the Company's financial positions or operating results.  Certain of these acquisitions have contractual obligations for deferred cash payments, contingent cash payments tied to performance, and special incentive cash payments tied to employment, none of which are material individually or in the aggregate to the Company's cash flows.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company believes that its existing cash and investment balances, together with cash flow from operations, will be sufficient to meet its operating, investing, and financing activities for the next twelve months.  As of April 1, 2018, the Company had $803,382,000 in cash and investments.  In addition, Cognex has no long-term debt and does not </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">26</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">anticipate needing debt financing in the near future.  We believe that our strong cash position has put us in a relatively good position with respect to our longer-term liquidity needs.</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">New Pronouncements</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Refer to Part I - Note 2 within this Form 10-Q, for a full description of recently issued accounting pronouncements including the expected dates of adoption and the expected impact on the financial position and results of operations of the Company.</font></div><div><a name="sC700B1955D805433B7521B689F9AB682"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;3: QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">There have been no material changes to the Company&#8217;s exposures to market risk since </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div><a name="sDC84EAB6DF1258B2AB117E51CB71F61F"></a></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;4: CONTROLS AND PROCEDURES</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As required by Rules 13a-15 and 15d-15 of the Securities Exchange Act of 1934, the Company has evaluated, with the participation of management, including the Chief Executive Officer and the Chief Financial Officer, the effectiveness of its disclosure controls and procedures (as defined in such rules) as of the end of the period covered by this report. Based on such evaluation, the Chief Executive Officer and Chief Financial Officer concluded that such disclosure controls and procedures were effective as of that date. From time to time, the Company reviews its disclosure controls and procedures, and may from time to time make changes aimed at enhancing their effectiveness and to ensure that the Company&#8217;s systems evolve with its business.  There was no change in the Company&#8217;s internal control over financial reporting that occurred during the quarter ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;that has materially affected, or is reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">27</font></div></div><hr style="page-break-after:always"><div><a name="sBE33F862ED715D68854B73F65A1DDA3E"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">PART II: OTHER INFORMATION</font></div><div><a name="s5BE056DD7FE155C894458945D8E97B6F"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;1. LEGAL PROCEEDINGS</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Various claims and legal proceedings generally incidental to the normal course of business are pending or threatened on behalf of or against the Company.  While we cannot predict the outcome of these matters, we believe that any liability arising from them will not have a material adverse effect on our financial position, liquidity, or results of operations.</font></div><div><a name="sA5921707C11350B28E89DA48EC18359D"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;1A. RISK FACTORS</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For a list of factors that could affect the Company&#8217;s business, results of operations, and financial condition, see the risk factors discussion provided in Part I&#8212;Item&#160;1A of the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div><a name="s717EEFC7E2145C89AEF48613B55DBD91"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table sets forth information with respect to purchases by the Company of shares of its common stock during the three-month period ended April 1, 2018:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="14"></td></tr><tr><td style="width:38%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:17%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Number</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">of Shares</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Purchased</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Price&#160;Paid</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">per Share</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total&#160;Number&#160;of</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Shares</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Purchased as</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Part of Publicly</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Announced</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Plans or</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Programs (1)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Approximate</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Dollar Value</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">of Shares that</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">May Yet Be</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Purchased</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Under the</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Plans or</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Programs</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">January 1 - January 28, 2018</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,200,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">January 29 - February 25, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">793,409</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56.31</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">793,409</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">150,525,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February 26 - April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">462,727</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">53.01</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">462,727</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">125,998,000</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,256,136</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55.09</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,256,136</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">125,998,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:justify;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1) In February 2018, the Company's Board of Directors authorized the repurchase of $150,000,000 of the Company's common stock.  Purchases under this program commenced in February 2018.</font></div><div><a name="s3A37996B24C757D2B8E3C3141B2C9593"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;3. DEFAULTS UPON SENIOR SECURITIES</font></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">None.</font></div><div><a name="sB4FD7EB884765FC8A056A573B8D20D4B"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;4. MINE SAFETY DISCLOSURES</font></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Not applicable.</font></div><div><a name="s8EA4F74417F259BBBCDFA13EA9EB85C0"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;5. OTHER INFORMATION</font></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">None.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">28</font></div></div><hr style="page-break-after:always"><div><a name="s1BD83236F99856348ABE3C06B5CAB5FF"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;-sec-extract:summary;font-size:10pt;"><font style="font-family:Arial;font-size:6pt;">&#160;</font><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;6. EXHIBITS</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:10%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:88%;"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Exhibit Number</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10.1</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="text-decoration:underline;color:#0000FF;-sec-extract:exhibit;" href="exhibit101.htm"><font style="font-family:Arial;font-size:10pt;">Letter Agreement dated February 15, 2018 between Cognex Corporation and J. Bruce Robinson*</font></a></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31.1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="text-decoration:underline;color:#0000FF;-sec-extract:exhibit;" href="a412018-10qxexhibit311.htm"><font style="font-family:Arial;font-size:10pt;">Certification of Chief Executive Officer pursuant to Rule 13a-14(a)/15d-14(a) under the Securities Exchange Act of 1934*</font></a></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31.2</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="text-decoration:underline;color:#0000FF;-sec-extract:exhibit;" href="a422017-10qxexhibit312.htm"><font style="font-family:Arial;font-size:10pt;">Certification of Chief Financial Officer pursuant to Rule 13a-14(a)/15d-14(a) under the Securities Exchange Act of 1934*</font></a></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32.1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="text-decoration:underline;color:#0000FF;-sec-extract:exhibit;" href="a412018-10qxexhibit321.htm"><font style="font-family:Arial;font-size:10pt;">Certification of Chief Executive Officer pursuant to 18 U.S.C. 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002**</font></a></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32.2</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="text-decoration:underline;color:#0000FF;-sec-extract:exhibit;" href="a412018-10qxexhibit322.htm"><font style="font-family:Arial;font-size:10pt;">Certification of Chief Financial Officer pursuant to 18 U.S.C. 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002**</font></a></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">101</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">xBRL (Extensible Business Reporting Language)</font></div></td></tr><tr><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following materials from Cognex Corporation&#8217;s Quarterly Report on Form 10-Q for the period ended April 1, 2018, formatted in xBRL: (i) Consolidated Statements of Operations for the three-month periods ended April 1, 2018 and April 2, 2017; (ii) Consolidated Statements of Comprehensive Income for the three-month periods ended April 1, 2018 and April 2, 2017; (iii) Consolidated Balance Sheets as of April 1, 2018 and December 31, 2017; (iv) Consolidated Statements of Cash Flows for the three-month periods ended April 1, 2018 and April 2, 2017; (v) Consolidated Statement of Shareholders&#8217; Equity for the three-month period ended April 1, 2018; and (vi) Notes to Consolidated Financial Statements.</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">*</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Filed herewith</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">**</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Furnished herewith</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">29</font></div></div><hr style="page-break-after:always"><div><a name="sA27D617999D35E27A3D91F9020AF43B9"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">SIGNATURES</font></div><div style="line-height:120%;padding-top:16px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:6%;"></td><td style="width:36%;"></td><td style="width:4%;"></td><td style="width:5%;"></td><td style="width:49%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April&#160;30, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">COGNEX CORPORATION</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">President and Chief Executive Officer</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(principal executive officer)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ John J. Curran</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">John J. Curran</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Senior Vice President of Finance </font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">and Chief Financial Officer</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(principal financial and accounting officer)</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">30</font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.1
<SEQUENCE>2
<FILENAME>exhibit101.htm
<DESCRIPTION>EXHIBIT 10.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2018 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="sD92CD943D65CA7ED82AF027F67B53A73"></a></div><div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">EXHIBIT 10.1</font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:right;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">February 15, 2018</font></div><div style="line-height:120%;text-align:right;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">delivered by email </font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">J. Bruce Robinson</font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">Dear Bruce:</font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">We have received your letter of resignation from our Board of Directors dated February 15, 2018.  On behalf of the Board, I would like to thank you for your past service to our company.</font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">This letter is to confirm that, as a result of your agreement to provide consulting services as an Assistant Secretary of Cognex through the close of business on March 23, 2019, your unvested options to acquire shares of Cognex common stock (option nos. AR010322, AR010702 and AR011169) granted to you under Cognex&#8217;s Amended and Restated 2007 Stock Option and Incentive Plan (the &#8220;Plan&#8221;) will continue to vest in the amounts and at the times set forth in the applicable award agreements.  After March 23, 2019, there will be no further vesting of your Cognex stock options, and the remaining unvested stock options will automatically terminate.  Your rights with respect to your Cognex stock options will continue to be governed in all respects by the terms of the Plan and the applicable award agreements. </font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">Please sign in the space indicated below and return this letter to me. </font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;padding-left:312px;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">Sincerely yours,</font></div><div style="line-height:120%;text-align:left;padding-left:312px;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;padding-left:312px;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">Robert J. Shillman</font></div><div style="line-height:120%;text-align:left;padding-left:312px;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">Chairman of the Board of Directors </font></div><div style="line-height:120%;text-align:left;padding-left:312px;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;padding-left:312px;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">Acknowledged and Agreed:</font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;text-decoration:underline;">/s/ J. Bruce Robinson</font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">J. Bruce Robinson</font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">Date: February 15, 2018</font></div><div style="line-height:120%;text-align:left;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div><br></div><div><div style="line-height:120%;text-align:center;font-size:9pt;"><font style="font-family:Arial Narrow;font-size:9pt;font-weight:bold;">Cognex Corporation         One Vision Drive         Natick, MA 01760-2059         (508) 650-3000          fax (508) 650-3333          www.cognex.com</font></div><div style="line-height:120%;"><hr></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>3
<FILENAME>a412018-10qxexhibit311.htm
<DESCRIPTION>EXHIBIT 31.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2018 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s522715D34B175DFFBF08EEAF220298E0"></a></div><div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exhibit 31.1</font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">CERTIFICATION</font></div><div style="line-height:120%;padding-top:16px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">I, Robert J. Willett, certify that:</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1&#160;&#160;&#160;&#160;I have reviewed this quarterly report on Form 10-Q of Cognex Corporation;</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2&#160;&#160;&#160;&#160;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;</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3&#160;&#160;&#160;&#160;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;</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4&#160;&#160;&#160;&#160;The registrant&#8217;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:</font></div><div style="line-height:120%;text-align:justify;font-size:6pt;"><font style="font-family:Arial;font-size:6pt;">&#160;</font></div><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(c)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Evaluated the effectiveness of the registrant&#8217;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</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(d)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</font></div></td></tr></table><div style="line-height:120%;padding-left:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-left:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5&#160;&#160;&#160;&#160;The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</font></div><div style="line-height:120%;text-align:justify;font-size:6pt;"><font style="font-family:Arial;font-size:6pt;">&#160;</font></div><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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&#8217;s ability to record, process, summarize and report financial information; and</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></div></td></tr></table><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6"></td></tr><tr><td style="width:6%;"></td><td style="width:33%;"></td><td style="width:2%;"></td><td style="width:4%;"></td><td style="width:1%;"></td><td style="width:54%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April&#160;30, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">President and Chief Executive Officer</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>4
<FILENAME>a422017-10qxexhibit312.htm
<DESCRIPTION>EXHIBIT 31.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2018 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s6A714D33CFDC59439D888E5D96583C01"></a></div><div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exhibit 31.2</font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">CERTIFICATION</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">I, John J. Curran, certify that:</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1&#160;&#160;&#160;&#160;I have reviewed this quarterly report on Form 10-Q of Cognex Corporation;</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2&#160;&#160;&#160;&#160;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;</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3&#160;&#160;&#160;&#160;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;</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4&#160;&#160;&#160;&#160;The registrant&#8217;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:</font></div><div style="line-height:120%;text-align:justify;font-size:6pt;"><font style="font-family:Arial;font-size:6pt;">&#160;</font></div><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(c)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Evaluated the effectiveness of the registrant&#8217;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</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(d)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</font></div></td></tr></table><div style="line-height:120%;padding-left:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-left:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5&#160;&#160;&#160;&#160;The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</font></div><div style="line-height:120%;text-align:justify;font-size:6pt;"><font style="font-family:Arial;font-size:6pt;">&#160;</font></div><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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&#8217;s ability to record, process, summarize and report financial information; and</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></div></td></tr></table><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6"></td></tr><tr><td style="width:7%;"></td><td style="width:32%;"></td><td style="width:2%;"></td><td style="width:4%;"></td><td style="width:1%;"></td><td style="width:54%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April&#160;30, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ John J. Curran</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">John J. Curran</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Senior Vice President of Finance </font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">and Chief Financial Officer</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>5
<FILENAME>a412018-10qxexhibit321.htm
<DESCRIPTION>EXHIBIT 32.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2018 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s3DD56371DC295B1888DAFA14F1DBB200"></a></div><div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exhibit 32.1*</font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">CERTIFICATION PURSUANT TO</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18 U.S.C. 1350,</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">AS ADOPTED PURSUANT TO</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The undersigned officer of Cognex Corporation (the &#8220;Company&#8221;) hereby certifies to his knowledge that the Company&#8217;s quarterly report on Form 10-Q for the quarterly period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;(the &#8220;Report&#8221;), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section&#160;13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended, and that the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:8%;"></td><td style="width:33%;"></td><td style="width:2%;"></td><td style="width:4%;"></td><td style="width:53%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April&#160;30, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">President and Chief Executive Officer</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(principal executive officer)</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="2"></td></tr><tr><td style="width:4%;"></td><td style="width:96%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">*</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">This certification shall not be deemed &#8220;filed&#8221; for purposes of Section&#160;18 of the Securities Exchange Act of 1934, or otherwise subject to the liability of that section, nor shall it be deemed to be incorporated by reference into any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934.</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>6
<FILENAME>a412018-10qxexhibit322.htm
<DESCRIPTION>EXHIBIT 32.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2018 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s12A1724ADEBE592FB19E446FDF765264"></a></div><div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exhibit 32.2*</font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">CERTIFICATION PURSUANT TO</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18 U.S.C. 1350,</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">AS ADOPTED PURSUANT TO</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The undersigned officer of Cognex Corporation (the &#8220;Company&#8221;) hereby certifies to his knowledge that the Company&#8217;s quarterly report on Form 10-Q for the quarterly period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;(the &#8220;Report&#8221;), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section&#160;13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended, and that the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:9%;"></td><td style="width:33%;"></td><td style="width:2%;"></td><td style="width:5%;"></td><td style="width:51%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April&#160;30, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ John J. Curran</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">John J. Curran</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Senior Vice President of Finance </font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">and Chief Financial Officer</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(principal financial officer)</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;">&#160;</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="2"></td></tr><tr><td style="width:4%;"></td><td style="width:96%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">*</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">This certification shall not be deemed &#8220;filed&#8221; for purposes of Section&#160;18 of the Securities Exchange Act of 1934, or otherwise subject to the liability of that section, nor shall it be deemed to be incorporated by reference into any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934.</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.INS
<SEQUENCE>7
<FILENAME>cgnx-20180401.xml
<DESCRIPTION>XBRL INSTANCE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!--p:5180C114E0C059F79276D59374CB6E86,x:e93cbb0f8d5343ceac8edc52095ac65d-->
<xbrli:xbrl xmlns:cgnx="http://www.cognex.com/20180401" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2017-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2014-01-31" xmlns:exch="http://xbrl.sec.gov/exch/2017-01-31" xmlns:invest="http://xbrl.sec.gov/invest/2013-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2017-01-31" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2011-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2017-01-31" xmlns:us-roles="http://fasb.org/us-roles/2017-01-31" xmlns:us-types="http://fasb.org/us-types/2017-01-31" xmlns:utreg="http://www.xbrl.org/2009/utr" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<link:schemaRef xlink:href="cgnx-20180401.xsd" xlink:type="simple" />
	<xbrli:context id="FD2018Q1YTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q1">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-04-02</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_ContingentConsiderationByTypeAxis_cgnx_ManateeContingentConsiderationMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">cgnx:ManateeContingentConsiderationMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_ContingentConsiderationByTypeAxis_cgnx_GVIContingentConsiderationMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">cgnx:GVIContingentConsiderationMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_ContingentConsiderationByTypeAxis_cgnx_ChiaroContingentConsiderationMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ContingentConsiderationByTypeAxis">cgnx:ChiaroContingentConsiderationMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:TWD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:HUF</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:GBP</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_CurrencyAxis_currency_CHF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:CHF</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:TWD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:JPY</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:GBP</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_CurrencyAxis_currency_CHF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:CHF</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:JPY</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:HUF</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:KRW</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:KRW</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">cgnx:AccruedExpensesMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">cgnx:AccruedExpensesMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">cgnx:AccruedExpensesMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">cgnx:AccruedExpensesMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueGoodsNetMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueGoodsNetMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_StatementGeographicalAxis_cgnx_NorthAndSouthAmericaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:NorthAndSouthAmericaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1YTD_us-gaap_StatementGeographicalAxis_cgnx_NorthAndSouthAmericaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:NorthAndSouthAmericaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1YTD_us-gaap_StatementGeographicalAxis_country_CN">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_StatementGeographicalAxis_country_CN">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1YTD_us-gaap_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">us-gaap:EuropeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1YTD_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">us-gaap:EuropeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1YTD_us-gaap_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1YTD_us-gaap_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementScenarioAxis">us-gaap:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementScenarioAxis">us-gaap:RestatementAdjustmentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementScenarioAxis">us-gaap:RestatementAdjustmentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementScenarioAxis">us-gaap:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfGoodsTotalMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:SellingGeneralAndAdministrativeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:SellingGeneralAndAdministrativeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q1QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfGoodsTotalMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_PlanNameAxis_cgnx_GeneralStockOptionPlanMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cgnx:GeneralStockOptionPlanMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramApril2017Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2018Q1Feb28_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramFebruary2018Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-02-28</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017andFebruary2018Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramApril2017andFebruary2018Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2015Q4SD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramApril2017Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-11-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramFebruary2018Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q1_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramFebruary2018Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramApril2017Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_RevenueCommissionersIrelandMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:RevenueCommissionersIrelandMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2018Q1Jan1_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201616Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201616Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-01-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q1YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_StateAdministrationOfTaxationChinaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:StateAdministrationOfTaxationChinaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2018Q2Apr25_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-25</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2018Q2Apr25_us-gaap_ShareRepurchaseProgramAxis_cgnx_GeneralStockOptionPlanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:GeneralStockOptionPlanMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-04-25</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2018Q2Apr30_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-04-30</xbrli:startDate>
			<xbrli:endDate>2018-04-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:unit id="huf">
		<xbrli:measure>iso4217:HUF</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="gbp">
		<xbrli:measure>iso4217:GBP</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="number">
		<xbrli:measure>xbrli:pure</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="usdPerShare">
		<xbrli:divide>
			<xbrli:unitNumerator>
				<xbrli:measure>iso4217:USD</xbrli:measure>
			</xbrli:unitNumerator>
			<xbrli:unitDenominator>
				<xbrli:measure>xbrli:shares</xbrli:measure>
			</xbrli:unitDenominator>
		</xbrli:divide>
	</xbrli:unit>
	<xbrli:unit id="chf">
		<xbrli:measure>iso4217:CHF</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="shares">
		<xbrli:measure>xbrli:shares</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="iso4217_JPY">
		<xbrli:measure>iso4217:JPY</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="iso4217_KRW">
		<xbrli:measure>iso4217:KRW</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="twd">
		<xbrli:measure>iso4217:TWD</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="Category">
		<xbrli:measure>cgnx:Category</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="group">
		<xbrli:measure>cgnx:group</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="usd">
		<xbrli:measure>iso4217:USD</xbrli:measure>
	</xbrli:unit>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q1" decimals="-3" id="Fact-9EE51DBA21577B4F0666F96A483B0C84" unitRef="usd">8442000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-C5AB9F6A76018CD85DA6F96A48447612" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-223C50FC286A1BE92124F96A48384665" unitRef="usd">5072000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-C97B2D5A44C030E43FD9F96A4843FC51" unitRef="usd">3370000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-55CFA12398B10DB75AEEF96A4843CCDF" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-A4846BF8F2BB1E9BF06AF96A48441175" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-AA3E194DEF41DFEA0D07F96A48437145" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q1" decimals="-3" id="Fact-DDE169F7E164DE0E1AA6F96A4844E51C" unitRef="usd">27228000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-D95C63F8B57EB4FB9473F96A483787F8" unitRef="usd">5931000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-92A2F0FF3677541CF55BF96A484449B0" unitRef="usd">2336000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-F1EFF3E23237F2895CD7F96A4831439C" unitRef="usd">18961000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-C1990EC563987D552EDAF96A48201559" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-4AAC0D3AEDF3557D33C3F96A48436630" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-F79F539932E8546BF20CF96A4838722F" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q1" decimals="-3" id="Fact-085FF67DACF5FF525609F96A484381B0" unitRef="usd">166233000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-0DDD16B0CA9B69E836FAF96A484395DC" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-E2DF7084D3C94406C473F96A4843BC4E" unitRef="usd">35411000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-D08E42ABA052E3771C9AF96A4843E9AC" unitRef="usd">116223000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-DFB783A4D18B93C2CF2FF96A484368C2" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-0A8EEDC1D287AF1C90C4F96A48204DC0" unitRef="usd">10995000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-B18F115E6C1343D9B3D9F96A4838DB96" unitRef="usd">3604000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q1" decimals="-3" id="Fact-0FCEE230DC97F3D5BED0F96A4844F16F" unitRef="usd">42846000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-34C588D27EA6BE309050F96A483B149F" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-A747E0EB79512A642BB9F96A483B0B86" unitRef="usd">6504000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-C3C575B8B6617FB60A80F96A4839F3E2" unitRef="usd">36342000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-ACFCE6DAA5FEEBEC274AF96A4820334C" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-983630331805CD8E1831F96A48200BEE" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-C68168019720F18577BBF96A4844842F" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q1" decimals="-3" id="Fact-E81455B584321BA781D8F96A48206D3B" unitRef="usd">111432000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-3ED841564F1673E9969DF96A4843ECCC" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-3DA79EC4262FBD27155DF96A4843CDB2" unitRef="usd">6923000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-651F5C1A25D31AA46B09F96A483BF41C" unitRef="usd">97412000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-4ED4F8B8DDB643E09945F96A4841A381" unitRef="usd">1348000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-B0D4523904A974815CDAF96A48385278" unitRef="usd">5749000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-3ADC2DC172243C851339F96A48444FE4" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:CashCashEquivalentsShortTermAndLongTermInvestments contextRef="FI2017Q4" decimals="-3" id="Fact-A372F8F4F91B19A7F7B6F96A4839B244" unitRef="usd">827984000</cgnx:CashCashEquivalentsShortTermAndLongTermInvestments>
	<cgnx:CashCashEquivalentsShortTermAndLongTermInvestments contextRef="FI2018Q1" decimals="-3" id="Fact-E65F7418634DA5E135A3F96A48392C4D" unitRef="usd">803382000</cgnx:CashCashEquivalentsShortTermAndLongTermInvestments>
	<cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent contextRef="FD2017Q1QTD" decimals="2" id="Fact-6E29DA7EE468330285DC08E8C13970A9" unitRef="number">0.33</cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent>
	<cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent contextRef="FD2018Q1YTD" decimals="2" id="Fact-9845AEF4A5780035FE8108E8C229C1F1" unitRef="number">0.13</cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent>
	<cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount contextRef="FI2018Q1" decimals="INF" id="Fact-CA66259881960DBC464FF96A48315731" unitRef="usd">0</cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount>
	<cgnx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition contextRef="FD2018Q1YTD" id="Fact-A45DE39800D6C0F46BEDF96A48306F06">P2Y7D</cgnx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition>
	<cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement contextRef="FI2018Q1" decimals="2" id="Fact-17A967048C3AC07BA525F96A4831AD6C" unitRef="number">0.12</cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement>
	<cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement contextRef="FI2018Q1" decimals="2" id="Fact-2C51D9ED366879112050F96A4831A9D7" unitRef="number">0.08</cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement>
	<cgnx:ExpirationPeriodOfStockOptionPlan contextRef="FD2018Q1YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" id="Fact-2C2FD54402BF2FB29D1DF96A4831EAB0">P10Y</cgnx:ExpirationPeriodOfStockOptionPlan>
	<cgnx:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix contextRef="FI2018Q1" decimals="-3" id="Fact-48515266544133760776040DE55ABB6A" unitRef="usd">530000</cgnx:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix>
	<cgnx:FiniteLivedIntangibleAssetsAmortizationExpenseYearSix contextRef="FI2018Q1" decimals="-3" id="Fact-AE10AABEDDFBB85A51C3040D2696CF40" unitRef="usd">989000</cgnx:FiniteLivedIntangibleAssetsAmortizationExpenseYearSix>
	<cgnx:IncomeTaxExaminationYearsUnderExaminationOtherEntities contextRef="FD2018Q1YTD" id="Fact-42746453E21751A69A48F96A483AF2E4">2013 through 2017</cgnx:IncomeTaxExaminationYearsUnderExaminationOtherEntities>
	<cgnx:IncreaseDecreaseInterestAndPenalties contextRef="FD2018Q1YTD" decimals="-4" id="Fact-BC817F2FE1F06DF274ABF96A483AA84F" unitRef="usd">70000</cgnx:IncreaseDecreaseInterestAndPenalties>
	<cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates contextRef="FD2017Q1QTD" decimals="-3" id="Fact-1496D9E2C8E56C30B1B1F96A48379A88" unitRef="usd">673000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
	<cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates contextRef="FD2018Q1YTD" decimals="-3" id="Fact-F67D5475B2207F4B7275F96A48291030" unitRef="usd">1283000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
	<cgnx:LiabilityForUncertainTaxPositions contextRef="FI2018Q1" decimals="-3" id="Fact-2827809EF8F135B90915F96A483A6AED" unitRef="usd">7986000</cgnx:LiabilityForUncertainTaxPositions>
	<cgnx:MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves contextRef="FD2018Q1YTD" decimals="-5" id="Fact-50DC08D8FE8852202E76F96A483A36EF" unitRef="usd">1200000</cgnx:MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves>
	<cgnx:MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves contextRef="FD2018Q1YTD" decimals="-5" id="Fact-62794CEFFB6B2A57EF85F96A48426B9B" unitRef="usd">1100000</cgnx:MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves>
	<cgnx:NumberOfGroupsWithinEmployeePopulation contextRef="FI2018Q1" decimals="INF" id="Fact-DF7F371F9D5D08AE6FF7F96A4821B6F2" unitRef="group">2</cgnx:NumberOfGroupsWithinEmployeePopulation>
	<cgnx:PaymentsForDivestitureofBusinesses contextRef="FD2017Q1QTD" decimals="-3" id="Fact-19D296C3311B133E9FE5F96A483AEAD0" unitRef="usd">291000</cgnx:PaymentsForDivestitureofBusinesses>
	<cgnx:PaymentsForDivestitureofBusinesses contextRef="FD2018Q1YTD" decimals="-3" id="Fact-62B6D15912923E166556F96A4844FD47" unitRef="usd">0</cgnx:PaymentsForDivestitureofBusinesses>
	<cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue contextRef="FI2018Q1" decimals="-3" id="Fact-C921FDED82E415BF3415F96A48379321" unitRef="usd">156676000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue>
	<cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue contextRef="FD2017Q1QTD" decimals="-3" id="Fact-AE74D927049EA7275B40F96A483A268D" unitRef="usd">17987000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
	<cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue contextRef="FD2018Q1YTD" decimals="-3" id="Fact-5BC5CD561CCC0D697C40F96A4837F1EA" unitRef="usd">25674000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
	<cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue contextRef="FD2017Q1QTD" decimals="-3" id="Fact-5A5919FAAD7EDB286F2BF96A48377341" unitRef="usd">53043000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
	<cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue contextRef="FD2018Q1YTD" decimals="-3" id="Fact-C6AF1AA28F7931B4A248F96A48370301" unitRef="usd">28088000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
	<cgnx:StockRepurchaseProgramAggregateNumberofSharesRepurchased contextRef="FI2018Q1_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member" decimals="-3" id="Fact-54C7F590D90150DDE896F96A484130D7" unitRef="shares">1744000</cgnx:StockRepurchaseProgramAggregateNumberofSharesRepurchased>
	<cgnx:StockRepurchaseProgramValue contextRef="FI2018Q1_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member" decimals="-3" id="Fact-E16B77230586828FB4B5F96A482016B8" unitRef="usd">100000000</cgnx:StockRepurchaseProgramValue>
	<cgnx:TaxyearsopentoexaminationbyInternalRevenueService contextRef="FD2018Q1YTD" id="Fact-E5F62BB972F054A0A8CEF96A48382277">2014 through 2017</cgnx:TaxyearsopentoexaminationbyInternalRevenueService>
	<cgnx:Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets contextRef="FI2018Q1" decimals="-3" id="Fact-CC88F7555710478FB44DF96A483B0411" unitRef="usd">1028000</cgnx:Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets>
	<cgnx:Vestingperiodperformancebasedrestrictedstockyears contextRef="FD2018Q1YTD" id="Fact-AE967F050557B646883CF96A482F4FEC">P1Y</cgnx:Vestingperiodperformancebasedrestrictedstockyears>
	<cgnx:Vestingperiodtimebasedrestrictedstockyears contextRef="FD2018Q1YTD" id="Fact-99CA04834F450BEAD275F96A483823E4">P3Y</cgnx:Vestingperiodtimebasedrestrictedstockyears>
	<dei:AmendmentFlag contextRef="FD2018Q1YTD" id="Fact-C1845B0E133D96483774F96A48387BD6">false</dei:AmendmentFlag>
	<dei:CurrentFiscalYearEndDate contextRef="FD2018Q1YTD" id="Fact-E55965D36EC38F3A50B7F96A48217265">--12-31</dei:CurrentFiscalYearEndDate>
	<dei:DocumentFiscalPeriodFocus contextRef="FD2018Q1YTD" id="Fact-FECC24EFE5BF39433FF8F96A483914CC">Q1</dei:DocumentFiscalPeriodFocus>
	<dei:DocumentFiscalYearFocus contextRef="FD2018Q1YTD" id="Fact-59DBEE386B1F0877F936F96A484206AE">2018</dei:DocumentFiscalYearFocus>
	<dei:DocumentPeriodEndDate contextRef="FD2018Q1YTD" id="Fact-B768E24789D32EAFA140F96A48209772">2018-04-01</dei:DocumentPeriodEndDate>
	<dei:DocumentType contextRef="FD2018Q1YTD" id="Fact-0878E9BE79F8DD2EE42AF96A4821083F">10-Q</dei:DocumentType>
	<dei:EntityCentralIndexKey contextRef="FD2018Q1YTD" id="Fact-1A7BA106464764A8560DF96A4843DD12">0000851205</dei:EntityCentralIndexKey>
	<dei:EntityCommonStockSharesOutstanding contextRef="FI2018Q1" decimals="INF" id="Fact-E28240E56F14DC99199EF96A4820CA44" unitRef="shares">172948442</dei:EntityCommonStockSharesOutstanding>
	<dei:EntityFilerCategory contextRef="FD2018Q1YTD" id="Fact-0DD8AA3562565CBB0DC3F96A483AEFE2">Large Accelerated Filer</dei:EntityFilerCategory>
	<dei:EntityRegistrantName contextRef="FD2018Q1YTD" id="Fact-8AFDFD0F15AA414CCFC7F96A48394924">COGNEX CORP</dei:EntityRegistrantName>
	<us-gaap:AccountsPayableCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-FDBBBED568FD6CE8CFEEF96A48432B5A" unitRef="usd">23463000</us-gaap:AccountsPayableCurrent>
	<us-gaap:AccountsPayableCurrent contextRef="FI2018Q1" decimals="-3" id="Fact-A7686714AC7B990CDE01F96A48201616" unitRef="usd">29136000</us-gaap:AccountsPayableCurrent>
	<us-gaap:AccountsReceivableNetCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-15A0CD000CBF0A130240F96A482C2BFB" unitRef="usd">119388000</us-gaap:AccountsReceivableNetCurrent>
	<us-gaap:AccountsReceivableNetCurrent contextRef="FI2018Q1" decimals="-3" id="Fact-BD164C943812241EEC86F96A48218B4A" unitRef="usd">96649000</us-gaap:AccountsReceivableNetCurrent>
	<us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="FD2017Q1QTD" decimals="-3" id="Fact-43DC42ADD452315BFC58F96A4843ED5B" unitRef="usd">-86000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
	<us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="FD2018Q1YTD" decimals="-3" id="Fact-1C7433A36A66B642780DF96A48397DE7" unitRef="usd">-56000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
	<us-gaap:AccruedIncomeTaxes contextRef="FI2017Q4" decimals="-3" id="Fact-9C4F4A6FF5EF63B543AC03CD04AA76DA" unitRef="usd">66741000</us-gaap:AccruedIncomeTaxes>
	<us-gaap:AccruedIncomeTaxes contextRef="FI2018Q1" decimals="-3" id="Fact-106B160260EB207D63CD03CD04A46C0A" unitRef="usd">66741000</us-gaap:AccruedIncomeTaxes>
	<us-gaap:AccruedIncomeTaxesCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-46F1C49D416CAAEF4B64F96A483171DC" unitRef="usd">11503000</us-gaap:AccruedIncomeTaxesCurrent>
	<us-gaap:AccruedIncomeTaxesCurrent contextRef="FI2017Q4_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-3" id="Fact-BF42FF1E76FAA9AC5B460425B2312955" unitRef="usd">112000</us-gaap:AccruedIncomeTaxesCurrent>
	<us-gaap:AccruedIncomeTaxesCurrent contextRef="FI2017Q4_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="-3" id="Fact-28392701F7B8353758680425B22D9B93" unitRef="usd">11391000</us-gaap:AccruedIncomeTaxesCurrent>
	<us-gaap:AccruedIncomeTaxesCurrent contextRef="FI2018Q1" decimals="-3" id="Fact-441AF89A938EADC5C6C4F96A4843DDC0" unitRef="usd">11915000</us-gaap:AccruedIncomeTaxesCurrent>
	<us-gaap:AccruedLiabilitiesCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-8CC1402152EEA2C79402F96A483101C0" unitRef="usd">68249000</us-gaap:AccruedLiabilitiesCurrent>
	<us-gaap:AccruedLiabilitiesCurrent contextRef="FI2018Q1" decimals="-3" id="Fact-A23206BCC6E27C390B81F96A48318255" unitRef="usd">56463000</us-gaap:AccruedLiabilitiesCurrent>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="FI2017Q4" decimals="-3" id="Fact-E72AAA7E1CAF8B799E18F96A482156FC" unitRef="usd">-34599000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="FI2018Q1" decimals="-3" id="Fact-55845A02791C8241F7BAF96A48302DB2" unitRef="usd">-31757000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
	<us-gaap:AdditionalPaidInCapitalCommonStock contextRef="FI2017Q4" decimals="-3" id="Fact-4DD7024EC99A49C516AEF96A483094E8" unitRef="usd">461338000</us-gaap:AdditionalPaidInCapitalCommonStock>
	<us-gaap:AdditionalPaidInCapitalCommonStock contextRef="FI2018Q1" decimals="-3" id="Fact-C2054B34213AE9BF1038F96A48212947" unitRef="usd">485654000</us-gaap:AdditionalPaidInCapitalCommonStock>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="FD2018Q1YTD" decimals="-3" id="Fact-639B7FF467D448432DC7F96A48443FEE" unitRef="usd">13194000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-2DB9193915953F725252F96A483A735A" unitRef="usd">13194000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2017Q1QTD" decimals="-3" id="Fact-13B562245CA0155C22E9F96A4830F449" unitRef="usd">7483000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2017Q1QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" decimals="-3" id="Fact-9EBFE074603903311197F96A4837F208" unitRef="usd">4443000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2017Q1QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember" decimals="-3" id="Fact-A36CC2E759A89E38E48DF96A483864F3" unitRef="usd">430000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2017Q1QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-79BF18F72AA9CE14235CF96A48207AC4" unitRef="usd">2610000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2018Q1QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" decimals="-3" id="Fact-2AFD5CE732EFE7E7FDA9F96A4838C56B" unitRef="usd">7582000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2018Q1QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember" decimals="-3" id="Fact-D31B30A4DECC43C7B130F96A48396204" unitRef="usd">797000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2018Q1QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-56F0BFC46A9EC4790E99F96A48380326" unitRef="usd">4815000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2018Q1YTD" decimals="-3" id="Fact-C95C6AC22BC33EF7C6B2F96A4838C93F" unitRef="usd">13194000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-ED9B98B7164E1C75A2F2F96A483059DF" unitRef="usd">1568000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
	<us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="FI2018Q1" decimals="-3" id="Fact-70A4D80B6634E4942B72F96A48308490" unitRef="usd">1664000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
	<us-gaap:AmortizationOfIntangibleAssets contextRef="FD2017Q1QTD" decimals="-3" id="Fact-2AA73D7B715ABA5CF55BF96A483B031B" unitRef="usd">872000</us-gaap:AmortizationOfIntangibleAssets>
	<us-gaap:AmortizationOfIntangibleAssets contextRef="FD2018Q1YTD" decimals="-3" id="Fact-7FD3613D5AF37A406902F96A483892DD" unitRef="usd">769000</us-gaap:AmortizationOfIntangibleAssets>
	<us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="FD2017Q1QTD" decimals="INF" id="Fact-3847BE40D0671F8FB1B8F96A4842565C" unitRef="shares">1648000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
	<us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="FD2018Q1YTD" decimals="INF" id="Fact-0DB5C229C63F38053826F96A4844EEFD" unitRef="shares">1339000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
	<us-gaap:Assets contextRef="FI2017Q4" decimals="-3" id="Fact-F9D19DA97E435C5B35CFF96A482A71C2" unitRef="usd">1287753000</us-gaap:Assets>
	<us-gaap:Assets contextRef="FI2018Q1" decimals="-3" id="Fact-184780833CDA8900D470F96A482F9BD4" unitRef="usd">1268915000</us-gaap:Assets>
	<us-gaap:AssetsCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-8E98DB8AE50FCDD00C33F96A48212212" unitRef="usd">629991000</us-gaap:AssetsCurrent>
	<us-gaap:AssetsCurrent contextRef="FI2018Q1" decimals="-3" id="Fact-E021A9EE8FD12504898DF96A482BD5FD" unitRef="usd">670549000</us-gaap:AssetsCurrent>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q1" decimals="-3" id="Fact-C76434C17A3F977DDD6FF96A4820D6AC" unitRef="usd">909000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-994876E4FB582505864FF96A4820C68F" unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-5D096D5E6D626D6382B6F96A48211E80" unitRef="usd">14000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-4F8BFDAE971E48DA6CF0F96A4843A3C4" unitRef="usd">797000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-6293256604A19DB4F9CFF96A48383B0F" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-D5D2CBAF7D4232FBCC0CF96A4820A15A" unitRef="usd">38000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-CB3080EB52685C5F1216F96A4821F2C2" unitRef="usd">3000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-97420AE0442DE886C57CF96A482147DA" unitRef="usd">5000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-FDBF08B5812A88AF2D2FF96A482117E0" unitRef="usd">50000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-924CF4C30596727E0DD8F96A482A626C" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-017DCF3198D5F0111E05F96A482DC7E5" unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-940E9770068B96283C01F96A482145DA" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1" decimals="-3" id="Fact-94333FF6ABAEC38966C1F96A482FA9BC" unitRef="usd">2294000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-BAEB65FBD5FB0B9F62BBF96A4828E7F9" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-CB73AD77695CFBB04DEDF96A48204616" unitRef="usd">341000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-046B71D694DF0BFE44F4F96A484456D7" unitRef="usd">834000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-029E46059CD8351370C1F96A482B2260" unitRef="usd">12000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-983EFA580A814EB49BFCF96A4821AB13" unitRef="usd">73000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-A95FF208D60BE8233462F96A48270AF2" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-4F303CB214B3A8B4C11AF96A48209BE3" unitRef="usd">283000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-9B4CE6E2BB9189419E9EF96A48212B2B" unitRef="usd">270000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-2C785C3FD75D938B5327F96A482A9DB6" unitRef="usd">12000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-5ACF748C595261A29789F96A48206AEC" unitRef="usd">5000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-440D654EA4927964F7B6F96A4821F52B" unitRef="usd">464000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-A133B250F8C5565018ECF96A4842F973" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-F06ED0EE241D7CD58993F96A48316868" unitRef="usd">624000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-DDB6FC2F68E8BEF72DB7F96A484238CE" unitRef="usd">1104000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-3A13B80EBB34CD1298E2F96A482D5F3F" unitRef="usd">24000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-16619B24EF9FF6DFC983F96A4821C54F" unitRef="usd">78000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-3CA0A81B2311FB7AE2CAF96A482830E4" unitRef="usd">464000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q1" decimals="-3" id="Fact-F040BCD8C305BF6C224AF96A482A732F" unitRef="usd">695195000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-68955F4D9885854E30A3F96A4821AF78" unitRef="usd">5930000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-74C39069D3308041ABA2F96A4820C35E" unitRef="usd">56573000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-F89C04578F12C8CBFD71F96A4844E7E7" unitRef="usd">272345000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-EE59ECCB2C91EE4DC3DBF96A4820135C" unitRef="usd">1360000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-933F4D08ED87565C1249F96A48430F02" unitRef="usd">16779000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-73380E08B3B4C7CD8425F96A48212D8F" unitRef="usd">3601000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-892D0C1DBD8A9FE3BE86F96A4821532B" unitRef="usd">75710000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-C225E6D02CE968C811A4F96A482061B6" unitRef="usd">108533000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-A9114DDC04AE0ADEB7D4F96A48217F8B" unitRef="usd">9165000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-B555697A564FF3AD4287F96A4821CA6D" unitRef="usd">6040000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-3CF65E541E6F0310D2E7F96A48443C99" unitRef="usd">139159000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q1" decimals="-3" id="Fact-93184D5627AA999F8D84F96A4820D0A4" unitRef="usd">693810000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-58EB59381A3E0FE06DA3F96A48447BE0" unitRef="usd">5931000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-B64F1EC3D72A386C9479F96A48201891" unitRef="usd">56246000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-7D290C01A767A503047BF96A48442285" unitRef="usd">272308000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-4C6BE1D0F14095282F7CF96A484442CE" unitRef="usd">1348000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-336FDB7C6DBDFBEC944EF96A4844AFAA" unitRef="usd">16744000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-DF629933706E54D5131FF96A4844AD61" unitRef="usd">3604000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-FABCA28F22EDB3D209F4F96A4820F07E" unitRef="usd">75432000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-E92160F495E558B3BAD2F96A482083F6" unitRef="usd">108313000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-311E5AE6EE06E5E6C5D3F96A483B6413" unitRef="usd">9153000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-2C3BCF148094E20089CBF96A4821DF0C" unitRef="usd">6036000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q1_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-56B81EABE06A18DF30B3F96A4821DEF3" unitRef="usd">138695000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q1" decimals="-3" id="Fact-4443A422C8A620906FBDF96A483107D6" unitRef="usd">558000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-F6F9CD5673064DDFD40103EBA00A06BC" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-6838F322D36B1A516301F96A48303E6E" unitRef="usd">10000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-CC3641D796C972B222C8F96A4841699A" unitRef="usd">292000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-E4BC8CB813F7CBF69819F96A48304022" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-EA25BB664E1C9D21C531F96A4843DD9E" unitRef="usd">69000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-9F5BB720336863A7033FF96A48430AB9" unitRef="usd">187000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q1" decimals="-3" id="Fact-54C47F4448F77C8D1787F96A48207166" unitRef="usd">466348000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-004816A4D113A3F17C1AF96A4838AE58" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-0EBB0E16163BC499AB51F96A48431A60" unitRef="usd">115272000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-DBA5D8A852111A6646BAF96A4837D755" unitRef="usd">195855000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-151AD9B29833B8C58801F96A4837ED7B" unitRef="usd">4196000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-FECB887DAE52AD19341AF96A48390B7A" unitRef="usd">12329000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-8845E661AB1D41E33E0FF96A4831B558" unitRef="usd">138696000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q1" decimals="-3" id="Fact-FB08E16B4233FD1D2A46F96A4837D2DC" unitRef="usd">1736000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-89134A4BF9B023A6BACFF96A4842A844" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-634AE9FE9998988AFBAFF96A4830FE08" unitRef="usd">614000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-F7E0644A5E2169890F5EF96A484301AD" unitRef="usd">812000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-A5A74C79B6A511FCCA44F96A48437238" unitRef="usd">24000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-73C053760EDDC7837325F96A48436CD1" unitRef="usd">9000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-45C052C6DAE2185362D6F96A4838157C" unitRef="usd">277000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q1" decimals="-3" id="Fact-0443EA9D97361D56DE6FF96A482E4B7D" unitRef="usd">388798000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-5C3CE37387D37FC60F29F96A48433C7D" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-0BCBA667450ADB882220F96A4831834D" unitRef="usd">112632000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-1DED28B0C181099CCE49F96A4842D73E" unitRef="usd">172162000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-1A88C07E0F0A6DC9A959F96A4841A400" unitRef="usd">4196000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-15D8A9B5B05CF483A952F96A4820570B" unitRef="usd">3599000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-10DFB816DABE78163022F96A4842B7E2" unitRef="usd">96209000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q1" decimals="-3" id="Fact-26DC0FE52DF93FD1B663F96A4839CBA5" unitRef="usd">77550000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-599ABE0487BA81EB77D903EBA0186CFB" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-AE0314D326B022037EB0F96A48301863" unitRef="usd">2640000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-DB97A72C70350FBA9F3EF96A4831CCD3" unitRef="usd">23693000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-59FF74A21634D5D59DC0F96A4821CB73" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-DFC87EF4A1B66BFDF074F96A482BBEEB" unitRef="usd">8730000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-45DA1808B015AAC4CA6DF96A483A3E61" unitRef="usd">42487000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q1" decimals="-3" id="Fact-56CA27C801039E741B62F96A484363EA" unitRef="usd">337629000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-1D2AD3A18AFBB09D49C9F96A4838CAEF" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-06CC828A8C80DA7F9762F96A48447CD1" unitRef="usd">75432000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-7CC74EE97C8EC061F9B9F96A48447217" unitRef="usd">108313000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-3BDE7101656FB3300AF9F96A4843B62E" unitRef="usd">9153000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-AC9A2FF4D7DD5432053DF96A4820A0D6" unitRef="usd">6036000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-FCC6EC0F61BD46C2231FF96A4841A197" unitRef="usd">138695000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1" decimals="-3" id="Fact-2EE9C230A2343FDB96F1F96A48391846" unitRef="usd">693810000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-48394D7C7A73610F22A103E0FF2CF865" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-66139B5925B7DF60589403E0EC0AC4DF" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-26BC5809B70351FDA69B03E0E4137DCF" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-BF775658BE56E030296903E0FA594F14" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-A117A4A53ED79CB03EBF03E0F5C510AC" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-4A391E60D5F30C68D07E03E0E80CD65F" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-EDC032F3E85645AD0EC0F96A48214AF0" unitRef="usd">5931000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-E0C35B29AB48D63FEE5DF96A4821956D" unitRef="usd">131678000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-146B7659FB5085103799F96A482183C3" unitRef="usd">380621000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-09A12D7B936E143C05E6F96A4821E252" unitRef="usd">10501000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-2702C02F4BD7A386690FF96A48214D8D" unitRef="usd">22780000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-3859D8EDA521532E18B0F96A4821C881" unitRef="usd">142299000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-032A77258586820DC4BF03E07E3E27BF" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-19C92C73196C6567C41C03E06C897323" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-6AA75AF70FFC2286464803E062F96994" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-8AD1EB963F885DD3755E03E078D3139B" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-70F86092BEEA3D08002E03E07503DF58" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-843002641456A430534203E067C98936" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-D03FCE2EC978FF66A8A2F96A4842F238" unitRef="usd">5931000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-1D75C28453AC6FDA1E48F96A4842CFB9" unitRef="usd">131678000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-789722C43E1E59CDD772F96A48447EA4" unitRef="usd">380621000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-F14534D48E6C8CD44B24F96A4838930E" unitRef="usd">10501000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-B97AC05E271404327F16F96A48446E11" unitRef="usd">22780000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-1F74F288CA4209CCCFE7F96A48385611" unitRef="usd">142299000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-FFD51B550A0FCF2717BFF96A48218BF9" unitRef="usd">297961000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-1C7591F38897359232F0F96A484102CA" unitRef="usd">10608000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-59EAE97353441B37B6F0F96A48426341" unitRef="usd">59203000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-4F4023206977637DF14BF96A4837E6A2" unitRef="usd">47395000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-40F45C1FAA75EB401440F96A483AD3AF" unitRef="usd">8805000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-1E50EA99C6147405AD7BF96A4838281B" unitRef="usd">21579000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-5ACDBB8AF76BFA8E7756F96A483ADD48" unitRef="usd">150371000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q1" decimals="-3" id="Fact-0CC39E1AEC8649032C06F96A4829D1BF" unitRef="usd">337629000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-9CB85EE1FF9646AB9EDAF96A483A0663" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-4496A82BDC0D2675A170F96A483B07BC" unitRef="usd">75432000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-AFE3A465430CDD1617E5F96A483BC67C" unitRef="usd">108313000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-376BC569B0C5359EE299F96A483A721B" unitRef="usd">9153000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-5B32C56309A3B317D8CBF96A483ACD11" unitRef="usd">6036000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-A1B583E375E578397028F96A483B4889" unitRef="usd">138695000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-69CA1AAA70EE781B40BCF96A48393828" unitRef="usd">14890000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-28EF68D971421A3FADD2F96A483B4960" unitRef="usd">71727000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-29181025A3803780CA02F96A48415C56" unitRef="usd">296014000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-7FA18FA2BF04B552440DF96A4842C86D" unitRef="usd">4204000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-23565277EFC8BFC49541F96A4838F598" unitRef="usd">13147000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-1CACFDB4A7A3C92E172BF96A4842EFB1" unitRef="usd">23459000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-BD3638BF409F136BCD29F96A4841C66A" unitRef="usd">5931000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-2D98E7302C74D9B8624FF96A483B9737" unitRef="usd">56246000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-9565C4139A0F76B3DD78F96A4839C99E" unitRef="usd">272308000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-3724D8FA60D9E81F23BAF96A483B99EF" unitRef="usd">1348000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-273B03C8145D9478CCB5F96A4842A8BD" unitRef="usd">16744000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2018Q1_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-67043D4CEA3B1310D1AFF96A48389942" unitRef="usd">3604000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedGains contextRef="FD2017Q1QTD" decimals="-3" id="Fact-4DA405210E3517707F3FF96A4821CBBF" unitRef="usd">88000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedGains contextRef="FD2018Q1YTD" decimals="-3" id="Fact-D6BBDF0C19EB4C9528B7F96A4828A751" unitRef="usd">55000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses contextRef="FD2017Q1QTD" decimals="-3" id="Fact-FA280CA53413B17E930BF96A48210183" unitRef="usd">23000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses contextRef="FD2018Q1YTD" decimals="-3" id="Fact-F39BEEB56495DD9ED000F96A48212ED9" unitRef="usd">33000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 contextRef="FD2017Q1QTD" decimals="-3" id="Fact-D30574B9F5B1816491EEF96A48423381" unitRef="usd">-275000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 contextRef="FD2018Q1YTD" decimals="-3" id="Fact-CB90DDDD498E89398F4DF96A482076E1" unitRef="usd">-442000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
	<us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-D0AD73F5625F78A427CD03DF7B135293" unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationLiability>
	<us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-85920B644183D155AA4103DF7B119BDA" unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationLiability>
	<us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-292A0C7E1603409599BEF96A482102DE" unitRef="usd">3115000</us-gaap:BusinessCombinationContingentConsiderationLiability>
	<us-gaap:CapitalizedContractCostNet contextRef="FI2017Q4" decimals="-3" id="Fact-4280E277D73EB9E6E3A204308ADB52C8" unitRef="usd">3230000</us-gaap:CapitalizedContractCostNet>
	<us-gaap:CapitalizedContractCostNet contextRef="FI2018Q1" decimals="-3" id="Fact-9547C84156A4DD114E9304308AC10761" unitRef="usd">4615000</us-gaap:CapitalizedContractCostNet>
	<us-gaap:Cash contextRef="FI2017Q4" decimals="-3" id="Fact-2D9B78C0E3A6EC8A1E6AF96A48429CF8" unitRef="usd">97951000</us-gaap:Cash>
	<us-gaap:Cash contextRef="FI2018Q1" decimals="-3" id="Fact-E158C00940A26651F55CF96A4838E055" unitRef="usd">101614000</us-gaap:Cash>
	<us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="FI2016Q4" decimals="-3" id="Fact-24690EB6B995E7117280F96A48413A62" unitRef="usd">79641000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
	<us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="FI2017Q1" decimals="-3" id="Fact-469A9234C92EB6316A0FF96A48434DDD" unitRef="usd">92428000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
	<us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="FI2017Q4" decimals="-3" id="Fact-1AC5C3B551ECBC13A69DF96A482F994C" unitRef="usd">106582000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
	<us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="FI2018Q1" decimals="-3" id="Fact-9C2A9D9D8488DC589FC3F96A48360C84" unitRef="usd">109572000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
	<us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="FD2017Q1QTD" decimals="-3" id="Fact-8CF167E993F2F0A61947F96A4842B7C7" unitRef="usd">12787000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
	<us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="FD2018Q1YTD" decimals="-3" id="Fact-577E4DBDA1852B662A1AF96A4843ADB1" unitRef="usd">2990000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
	<us-gaap:CommonStockDividendsPerShareCashPaid contextRef="FD2017Q1QTD" decimals="INF" id="Fact-A6181E02A6CB560D1654F96A48435291" unitRef="usdPerShare">0.0375</us-gaap:CommonStockDividendsPerShareCashPaid>
	<us-gaap:CommonStockDividendsPerShareCashPaid contextRef="FD2018Q1YTD" decimals="INF" id="Fact-1CE5CA9334F1C47DE7B9F96A48424925" unitRef="usdPerShare">0.045</us-gaap:CommonStockDividendsPerShareCashPaid>
	<us-gaap:CommonStockDividendsPerShareDeclared contextRef="D2018Q2Apr30_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" decimals="INF" id="Fact-99F329B053E41AB5CE08F96A4841C8CE" unitRef="usdPerShare">0.045</us-gaap:CommonStockDividendsPerShareDeclared>
	<us-gaap:CommonStockParOrStatedValuePerShare contextRef="FI2017Q4" decimals="INF" id="Fact-1CFD3CD6DA6535C95617F96A4831EF69" unitRef="usdPerShare">0.002</us-gaap:CommonStockParOrStatedValuePerShare>
	<us-gaap:CommonStockParOrStatedValuePerShare contextRef="FI2018Q1" decimals="INF" id="Fact-371C75445DF7F0C03635F96A48308309" unitRef="usdPerShare">0.002</us-gaap:CommonStockParOrStatedValuePerShare>
	<us-gaap:CommonStockSharesAuthorized contextRef="FI2017Q4" decimals="INF" id="Fact-CB5D14CF1737DFF1F58AF96A4830BCAF" unitRef="shares">200000000</us-gaap:CommonStockSharesAuthorized>
	<us-gaap:CommonStockSharesAuthorized contextRef="FI2018Q1" decimals="INF" id="Fact-691047D9EDC6E5FCE8C3F96A4830D1C3" unitRef="shares">200000000</us-gaap:CommonStockSharesAuthorized>
	<us-gaap:CommonStockSharesIssued contextRef="FI2017Q4" decimals="-3" id="Fact-5BF837AC9BB0F4CE5C40F96A48302684" unitRef="shares">173507000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesIssued contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-E68BCA651015AD7EA907F96A483ADA05" unitRef="shares">173507000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesIssued contextRef="FI2018Q1" decimals="-3" id="Fact-58CC8A00B7DF661F0ADAF96A4830F92F" unitRef="shares">172948000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesIssued contextRef="FI2018Q1_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-E6EFB374260304CB23DEF96A4838FA80" unitRef="shares">172948000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesOutstanding contextRef="FI2017Q4" decimals="-3" id="Fact-C9C231B318061B31FAA803CF20CD0703" unitRef="shares">173507000</us-gaap:CommonStockSharesOutstanding>
	<us-gaap:CommonStockSharesOutstanding contextRef="FI2018Q1" decimals="-3" id="Fact-4AE42D2F55B4FE778C5503CF20D06AA0" unitRef="shares">172948000</us-gaap:CommonStockSharesOutstanding>
	<us-gaap:CommonStockValueOutstanding contextRef="FI2017Q4" decimals="-3" id="Fact-D0905F7D1E621E107121F96A48272DAF" unitRef="usd">347000</us-gaap:CommonStockValueOutstanding>
	<us-gaap:CommonStockValueOutstanding contextRef="FI2018Q1" decimals="-3" id="Fact-DB5F031CF6859EA06EB5F96A48203F0F" unitRef="usd">346000</us-gaap:CommonStockValueOutstanding>
	<us-gaap:ComprehensiveIncomeNetOfTax contextRef="FD2017Q1QTD" decimals="-3" id="Fact-0016526244929A55BB2CF96A4841BEE3" unitRef="usd">48371000</us-gaap:ComprehensiveIncomeNetOfTax>
	<us-gaap:ComprehensiveIncomeNetOfTax contextRef="FD2018Q1YTD" decimals="-3" id="Fact-01912786F4D0138BA454F96A4842D0DA" unitRef="usd">40059000</us-gaap:ComprehensiveIncomeNetOfTax>
	<us-gaap:ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice contextRef="FD2018Q1YTD" decimals="-3" id="Fact-67219CDB3E2338BAD3460435999DE6FA" unitRef="usd">208000</us-gaap:ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice>
	<us-gaap:ContractWithCustomerLiability contextRef="FI2017Q4" decimals="-3" id="Fact-338C39D4280DABFF130B0434DB16CA22" unitRef="usd">9420000</us-gaap:ContractWithCustomerLiability>
	<us-gaap:ContractWithCustomerLiability contextRef="FI2018Q1" decimals="-3" id="Fact-C5653799200FF47264A30434DB195DB2" unitRef="usd">15504000</us-gaap:ContractWithCustomerLiability>
	<us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized contextRef="FD2018Q1YTD" decimals="-3" id="Fact-69012D80369BA6B5A656043A6E84E315" unitRef="usd">5875000</us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized>
	<us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice contextRef="FD2018Q1YTD" decimals="-3" id="Fact-E2524665648BB6EC00FF04377127791F" unitRef="usd">11751000</us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice>
	<us-gaap:CostOfGoodsAndServicesSold contextRef="FD2017Q1QTD" decimals="-3" id="Fact-D1A97A3AF71A97A5BF88F96A4844BB47" unitRef="usd">32532000</us-gaap:CostOfGoodsAndServicesSold>
	<us-gaap:CostOfGoodsAndServicesSold contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-3" id="Fact-2F3139C345F29313352E0422CEE812B9" unitRef="usd">4307000</us-gaap:CostOfGoodsAndServicesSold>
	<us-gaap:CostOfGoodsAndServicesSold contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="-3" id="Fact-3607F41F9BD39B6D4ADF0422CEEC0166" unitRef="usd">28225000</us-gaap:CostOfGoodsAndServicesSold>
	<us-gaap:CostOfGoodsAndServicesSold contextRef="FD2018Q1YTD" decimals="-3" id="Fact-137C8F3FCB81D4FE9318F96A4844F665" unitRef="usd">40198000</us-gaap:CostOfGoodsAndServicesSold>
	<us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="FI2017Q4" decimals="-3" id="Fact-B9766ADEE47ADA28AC6003D67B0AADE9" unitRef="usd">-5961000</us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption>
	<us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-F218EF7E8FE71153EC0B03D67B04686D" unitRef="usd">-5961000</us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption>
	<us-gaap:CumulativeEffectOnRetainedEarningsNetOfTax1 contextRef="D2018Q1Jan1_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201616Member" decimals="-3" id="Fact-EBBF6AEDC566D427104908E03EF87714" unitRef="usd">5961000</us-gaap:CumulativeEffectOnRetainedEarningsNetOfTax1>
	<us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="FI2017Q4" decimals="-3" id="Fact-CE7DEBB6A97C4E6929F0F96A4838D178" unitRef="usd">312000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
	<us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="FI2018Q1" decimals="-3" id="Fact-10327019FE27A5DD72F0F96A483704B6" unitRef="usd">319000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
	<us-gaap:DeferredRevenueAndCreditsCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-B19F232005FE8B530037F96A482AB251" unitRef="usd">9420000</us-gaap:DeferredRevenueAndCreditsCurrent>
	<us-gaap:DeferredRevenueAndCreditsCurrent contextRef="FI2017Q4_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-3" id="Fact-F4832AFEDDF814C3FD7E0425CC35D3BC" unitRef="usd">-549000</us-gaap:DeferredRevenueAndCreditsCurrent>
	<us-gaap:DeferredRevenueAndCreditsCurrent contextRef="FI2017Q4_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="-3" id="Fact-1418586E3E8BA63AE15D0425CC3618A7" unitRef="usd">9969000</us-gaap:DeferredRevenueAndCreditsCurrent>
	<us-gaap:DeferredRevenueAndCreditsCurrent contextRef="FI2018Q1" decimals="-3" id="Fact-8E2DD1A989D6C5C7347BF96A4831A9B7" unitRef="usd">15504000</us-gaap:DeferredRevenueAndCreditsCurrent>
	<us-gaap:DeferredTaxAssetsNetNoncurrent contextRef="FI2017Q4" decimals="-3" id="Fact-13AAA08F053ECFA82B40F96A482A3A1F" unitRef="usd">27385000</us-gaap:DeferredTaxAssetsNetNoncurrent>
	<us-gaap:DeferredTaxAssetsNetNoncurrent contextRef="FI2018Q1" decimals="-3" id="Fact-417E62789C0DA64F5E1FF96A48363E07" unitRef="usd">29135000</us-gaap:DeferredTaxAssetsNetNoncurrent>
	<us-gaap:Depreciation contextRef="FD2017Q1QTD" decimals="-3" id="Fact-EA297D75D09E854696FFF96A482F573F" unitRef="usd">3083000</us-gaap:Depreciation>
	<us-gaap:Depreciation contextRef="FD2018Q1YTD" decimals="-3" id="Fact-AD0A98DF9AD97D0A6E1AF96A48428266" unitRef="usd">4430000</us-gaap:Depreciation>
	<us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset contextRef="FI2017Q4" decimals="-3" id="Fact-54B72026537E0FA5A564F96A482F14DC" unitRef="usd">0</us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset>
	<us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset contextRef="FI2018Q1" decimals="-3" id="Fact-B27EE158742799026510F96A482E3E44" unitRef="usd">0</us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_CHF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-8B190FD4766EEF68DA5CF96A48300828" unitRef="usd">1401000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_CHF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-D7190B1737FF157D0648F96A482C0087" unitRef="chf">1365000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-6541F33D477955C61414F96A482F9D05" unitRef="usd">2232000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-0D1C1708F635D387B3F3F96A482E6E1D" unitRef="gbp">1650000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-E63C1F3B658E4689AFD5F96A4830CABE" unitRef="usd">2110000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-D4C3CAF8D2F3163A3631F96A48302931" unitRef="huf">545000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-6CF9E00466B297D0A478F96A482F7F38" unitRef="iso4217_JPY">455000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-125DE44E26105EF37E32F96A482F0302" unitRef="usd">4049000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-1EF6E00E96EA4A5EDFCCF96A48370AE5" unitRef="usd">1708000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-DC06D7DF492FC0759C4EF96A482E5FD0" unitRef="iso4217_KRW">1825000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-62FCE72D16B8230802F4F96A482CE156" unitRef="twd">37725000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-C286B2E36E8DE415CEACF96A482D15D5" unitRef="usd">1278000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q1_us-gaap_CurrencyAxis_currency_CHF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-D9DBFE05C351754EAEEEF96A482E970F" unitRef="usd">2072000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q1_us-gaap_CurrencyAxis_currency_CHF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-007A908D6732CBE5E684F96A482E04E9" unitRef="chf">1600000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q1_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-7E3F004F32607675D5F9F96A482D0382" unitRef="usd">1824000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q1_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-65D7FB4FB42ABA80B098F96A482A6FF0" unitRef="gbp">1300000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q1_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-C068A7739B29E98238CFF96A482D6553" unitRef="usd">1576000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q1_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-05D0F2E7C6F310B69FA5F96A48394711" unitRef="huf">400000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q1_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-C9D06165F4ED802EE746F96A4830107E" unitRef="usd">5299000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q1_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-ADC71DFD24E99D1ADBFFF96A482F0388" unitRef="iso4217_JPY">565000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q1_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-1DB33E99194479A892C4F96A482F2C13" unitRef="usd">616000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q1_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-DED1332AE7450362315DF96A482C7C9D" unitRef="iso4217_KRW">655000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q1_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-3F1CB0A06D68A1ECEAC6F96A482B0ADA" unitRef="twd">43000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q1_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-08D429B882ECD89D50ABF96A482C11B9" unitRef="usd">1480000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssets contextRef="FI2017Q4" decimals="-3" id="Fact-A7F764B0006B062B4B02F96A4830D2DA" unitRef="usd">16000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2017Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-6D1CCBDBA3E56D835275F96A482CEEB5" unitRef="usd">0</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2017Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-23B53899E45A2DEBC466F96A4828D2A0" unitRef="usd">16000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2018Q1" decimals="-3" id="Fact-75FFA9B267542A550854F96A4830D763" unitRef="usd">4000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2018Q1_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-3E67B86F38E0C226CCE0F96A48288B84" unitRef="usd">0</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2018Q1_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-876434AB5EB79AD3C8E1F96A4820F7D0" unitRef="usd">4000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeFairValueOfDerivativeAsset contextRef="FI2017Q4" decimals="-3" id="Fact-CE3BAEB3C2718E2D3B4FF96A482FEA13" unitRef="usd">16000</us-gaap:DerivativeFairValueOfDerivativeAsset>
	<us-gaap:DerivativeFairValueOfDerivativeAsset contextRef="FI2018Q1" decimals="-3" id="Fact-62541538C92A1559BA22F96A483004C4" unitRef="usd">4000</us-gaap:DerivativeFairValueOfDerivativeAsset>
	<us-gaap:DerivativeFairValueOfDerivativeLiability contextRef="FI2017Q4" decimals="-3" id="Fact-8A9A98C1123B7A9C79A5F96A482EED70" unitRef="usd">13000</us-gaap:DerivativeFairValueOfDerivativeLiability>
	<us-gaap:DerivativeFairValueOfDerivativeLiability contextRef="FI2018Q1" decimals="-3" id="Fact-69C4DF10B744F0685B2CF96A482FAC46" unitRef="usd">18000</us-gaap:DerivativeFairValueOfDerivativeLiability>
	<us-gaap:DerivativeGainLossOnDerivativeNet contextRef="FD2017Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-ECAEE1B713B5413252A3F96A482F14A1" unitRef="usd">-81000</us-gaap:DerivativeGainLossOnDerivativeNet>
	<us-gaap:DerivativeGainLossOnDerivativeNet contextRef="FD2018Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-4833A722887C6647D680F96A482F4F38" unitRef="usd">-310000</us-gaap:DerivativeGainLossOnDerivativeNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2017Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember" decimals="-3" id="Fact-CA9919C5BE411A4FDCB2F96A48370961" unitRef="usd">8000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2017Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-940624F9446F1A86396CF96A48305761" unitRef="usd">3000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2017Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember" decimals="-3" id="Fact-DE31F430383334645A7DF96A482E8AEF" unitRef="usd">-55000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2018Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember" decimals="-3" id="Fact-45A8CEC67231A5DDD627F96A482F78D4" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2018Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-3E25DDF5B1FFA146A869F96A48309A01" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2018Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember" decimals="-3" id="Fact-D8A8F319F60CE8D71BE8F96A482EC9BE" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet contextRef="FD2017Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-F852C465BA46AFA1FE81F96A482C27E5" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet contextRef="FD2018Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-4C6861EE8063CF1C38D7F96A482E93AB" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet contextRef="FD2017Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="-3" id="Fact-19447CC14BDD3FF4AF92F96A48302161" unitRef="usd">10000</us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet contextRef="FD2018Q1QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="-3" id="Fact-5996F811A14190EB35E8F96A48215064" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet>
	<us-gaap:DerivativeLiabilities contextRef="FI2017Q4" decimals="-3" id="Fact-F4C85813A82C44919CD0F96A482FFB99" unitRef="usd">13000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2017Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-A9C80851AF5499DCC824F96A482128E3" unitRef="usd">0</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2017Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-C89A4ED83BEEE8641ACAF96A482D64AB" unitRef="usd">13000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2018Q1" decimals="-3" id="Fact-FE475CCC7CC7201205EEF96A482F54CC" unitRef="usd">18000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2018Q1_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-9C8451BB63A5D96F3FBDF96A482E60A6" unitRef="usd">0</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2018Q1_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-F4BBC28F01C7438E0DF1F96A48217F2C" unitRef="usd">18000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset contextRef="FI2017Q4" decimals="-3" id="Fact-2013F418D81CD29A38D8F96A48303BBD" unitRef="usd">0</us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset>
	<us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset contextRef="FI2018Q1" decimals="-3" id="Fact-002754C2D566ADD51EB1F96A482F3F79" unitRef="usd">0</us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset>
	<us-gaap:DerivativeNumberOfInstrumentsHeld contextRef="FI2018Q1" decimals="INF" id="Fact-C0F655C26BC6E6EBC30EF96A482EAE65" unitRef="Category">2</us-gaap:DerivativeNumberOfInstrumentsHeld>
	<us-gaap:DividendPayableDateToBePaidDayMonthAndYear contextRef="D2018Q2Apr30_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" id="Fact-36474D6737FB83E44954F96A48386241">2018-06-01</us-gaap:DividendPayableDateToBePaidDayMonthAndYear>
	<us-gaap:DividendsCash contextRef="FD2018Q1YTD" decimals="-3" id="Fact-2225648C3D0B23647E67F96A483A9410" unitRef="usd">7787000</us-gaap:DividendsCash>
	<us-gaap:DividendsCash contextRef="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-6EAF6BF9DE41288F70F6F96A4839F3F6" unitRef="usd">7787000</us-gaap:DividendsCash>
	<us-gaap:DividendsPayableDateOfRecordDayMonthAndYear contextRef="D2018Q2Apr30_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" id="Fact-EA69B91DD3DFCF5028DBF96A48419088">2018-05-18</us-gaap:DividendsPayableDateOfRecordDayMonthAndYear>
	<us-gaap:EarningsPerShareBasic contextRef="FD2017Q1QTD" decimals="2" id="Fact-02EA13F720F58007DF6CF96A482FF8F6" unitRef="usdPerShare">0.26</us-gaap:EarningsPerShareBasic>
	<us-gaap:EarningsPerShareBasic contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-3" id="Fact-D6B41B1C22005E6057FF0423BA290F09" unitRef="usdPerShare">0</us-gaap:EarningsPerShareBasic>
	<us-gaap:EarningsPerShareBasic contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="2" id="Fact-1A8EF74072BC5BA1D7470423BA25E27D" unitRef="usdPerShare">0.26</us-gaap:EarningsPerShareBasic>
	<us-gaap:EarningsPerShareBasic contextRef="FD2018Q1YTD" decimals="2" id="Fact-1F19DADDFC181AA7A701F96A4821D8E2" unitRef="usdPerShare">0.21</us-gaap:EarningsPerShareBasic>
	<us-gaap:EarningsPerShareDiluted contextRef="FD2017Q1QTD" decimals="2" id="Fact-05CDC0AD721E75626DF8F96A482D972B" unitRef="usdPerShare">0.25</us-gaap:EarningsPerShareDiluted>
	<us-gaap:EarningsPerShareDiluted contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-1" id="Fact-A80B15D47B1B04DADF3A0423DAA754E6" unitRef="usdPerShare">-10</us-gaap:EarningsPerShareDiluted>
	<us-gaap:EarningsPerShareDiluted contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="2" id="Fact-A896C18C1E3C7DD1CAE00423DA9EDDD7" unitRef="usdPerShare">0.26</us-gaap:EarningsPerShareDiluted>
	<us-gaap:EarningsPerShareDiluted contextRef="FD2018Q1YTD" decimals="2" id="Fact-55FE337FF8E16D63C3D0F96A4844D957" unitRef="usdPerShare">0.21</us-gaap:EarningsPerShareDiluted>
	<us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents contextRef="FD2017Q1QTD" decimals="-3" id="Fact-B43C4EAC58D4C86A31DCF96A48398B47" unitRef="usd">1004000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
	<us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents contextRef="FD2018Q1YTD" decimals="-3" id="Fact-9F11B3FCADAFE1682B0DF96A4838CE03" unitRef="usd">1111000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
	<us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="FD2017Q1QTD" decimals="2" id="Fact-27E339A3BB1A49E5AA9AF96A48390F0A" unitRef="number">-0.16</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
	<us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="FD2018Q1YTD" decimals="2" id="Fact-A4D777B5970955F6F8A2F96A4839E1D5" unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2017Q1QTD" decimals="2" id="Fact-E5FEBD1E815D4D5BA670F96A48446BB7" unitRef="number">0.35</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2018Q1YTD" decimals="2" id="Fact-B3A13505861C3F1D6FF2F96A483B3B91" unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2018Q1YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_RevenueCommissionersIrelandMember" decimals="INF" id="Fact-C12D4F0DCB4228A11B0E08D0CB003E65" unitRef="number">0.125</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2018Q1YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_StateAdministrationOfTaxationChinaMember" decimals="INF" id="Fact-784F8BFC0C245CC2518808D0CB1C4342" unitRef="number">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate contextRef="FD2017Q1QTD" decimals="2" id="Fact-0F2210F813CA43B3A8DCF96A483990B5" unitRef="number">-0.01</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate contextRef="FD2018Q1YTD" decimals="2" id="Fact-87A65091DC734E210C91F96A483B4642" unitRef="number">0.00</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="FD2017Q1QTD" decimals="2" id="Fact-704F68A8EBD9C1C166A908E89C50C1E3" unitRef="number">0.18</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
	<us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="FD2018Q1YTD" decimals="2" id="Fact-3C93F15C40706D4A2D2708E89C4437BB" unitRef="number">0.07</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
	<us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="FD2017Q1QTD" decimals="2" id="Fact-AC005F9C172AE0FAB3EBF96A483B7597" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
	<us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="FD2018Q1YTD" decimals="2" id="Fact-628F14632518C506949BF96A483B508E" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
	<us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="FD2017Q1QTD" decimals="2" id="Fact-BE6139E3BB0C819E9874F96A483989C9" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
	<us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="FD2018Q1YTD" decimals="2" id="Fact-366FB499FA95A8F3E574F96A48427A33" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
	<us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="FD2017Q1QTD" decimals="2" id="Fact-1AA68D2797CB8D662BA7F96A48395709" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
	<us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="FD2018Q1YTD" decimals="2" id="Fact-ADD79985E1921DA2CF4EF96A4839E9EE" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
	<us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="FI2018Q1" decimals="-3" id="Fact-6036D406AE62E2DEE1BFF96A4836E1C7" unitRef="usd">63749000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
	<us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="FD2017Q1QTD" decimals="-3" id="Fact-1F5107B9C54CC715E95CF96A482174F2" unitRef="usd">2439000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
	<us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="FD2018Q1YTD" decimals="-3" id="Fact-ABD03AE9CC51AA5DAD3EF96A4837E21F" unitRef="usd">2347000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
	<us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue contextRef="FI2017Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-FB39EFA597BFCC0920E5F96A48204885" unitRef="usd">3557000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
	<us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-DC5076F03949EC72F3E7F96A48207830" unitRef="usd">3115000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2017Q4" decimals="-3" id="Fact-C09A20DB993E2E09E8E00404C8ED5BD4" unitRef="usd">47535000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember" decimals="-3" id="Fact-62604E598C35D900F1880404C7EB9E1B" unitRef="usd">4181000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember" decimals="-3" id="Fact-992CD8F692023B2A29BF0404C7DFBDBF" unitRef="usd">5202000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-B11E3629E0EF70DE5B500404C7E2721B" unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember" decimals="-3" id="Fact-6E24DEDEB51AEF3BB7F00404C83A4A6A" unitRef="usd">92000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2018Q1" decimals="-3" id="Fact-13D8418B1BD40F40F14E0404C7E59436" unitRef="usd">48304000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember" decimals="-3" id="Fact-B577FA6C2CC114D850800404C7FD8E80" unitRef="usd">4791000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember" decimals="-3" id="Fact-B5DFEF1B4C4E251AEDD70404C7F69AB2" unitRef="usd">5330000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-9E687A7BE0581C7A703E0404C7DC18D2" unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember" decimals="-3" id="Fact-51C5192E9D5BDBD3FC2E0404C80663BF" unitRef="usd">123000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear contextRef="FI2018Q1" decimals="-3" id="Fact-1B337F79DB0C6BE5D05C040AA28C2CBB" unitRef="usd">2307000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="FI2018Q1" decimals="-3" id="Fact-F17488AE718AD19DB65C040C430A04AA" unitRef="usd">1691000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="FI2018Q1" decimals="-3" id="Fact-D719572BAAA228547E44040BD28E995C" unitRef="usd">2017000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="FI2018Q1" decimals="-3" id="Fact-55FDFB1BAC70BB792F04040B834B2441" unitRef="usd">2185000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="FI2018Q1" decimals="-3" id="Fact-2053CC34A75221574F10040B2596D0E3" unitRef="usd">2701000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2017Q4" decimals="-3" id="Fact-2E807708DDCAB64C5590040445B8DDD0" unitRef="usd">60724000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember" decimals="-3" id="Fact-8466A57A39A82833C748040445DDBEAB" unitRef="usd">13687000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember" decimals="-3" id="Fact-25E2735AF5AEC21EE94B040445AD04B5" unitRef="usd">8607000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-CAC5BB89859B539C3EEB040445B1D5CB" unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember" decimals="-3" id="Fact-1069BFBE98BED7E0EE2D040445C2ED91" unitRef="usd">370000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2018Q1" decimals="-3" id="Fact-2CDBE11A08CFF608EF10040445D3EA5E" unitRef="usd">60724000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember" decimals="-3" id="Fact-1C3A4A0C5D12CC4FD5F1040445EAE18A" unitRef="usd">13687000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember" decimals="-3" id="Fact-5F4D8CAF9CC1EA479A9D040445B406D7" unitRef="usd">8607000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-8AC152349D6236EDDFC2040445C9679C" unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember" decimals="-3" id="Fact-6CA37BA3EEB5B0A6FFA8040445A99F80" unitRef="usd">370000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2017Q4" decimals="-3" id="Fact-BF3FA164CDA91C14CCBFF96A48360039" unitRef="usd">13189000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember" decimals="-3" id="Fact-70E6C81ECE9B1BAF064004050E99EEA2" unitRef="usd">9506000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember" decimals="-3" id="Fact-42F9DB8932463FB2D2DB04050ECBA4B7" unitRef="usd">3405000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-86C8E561AFFB728D4BD404050E80A393" unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember" decimals="-3" id="Fact-C84D5676B9AEF13CB2A004050F69AC55" unitRef="usd">278000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2018Q1" decimals="-3" id="Fact-7728E8FF4D8D2968D545F96A482F363D" unitRef="usd">12420000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember" decimals="-3" id="Fact-3915C28222E9FEFD09A904051070FB11" unitRef="usd">8896000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember" decimals="-3" id="Fact-D103279B26FCD37EB5D304050E82BFE6" unitRef="usd">3277000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-1DB88E32EF667871F39104050FE162F6" unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2018Q1_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember" decimals="-3" id="Fact-1CEF437B9F20BC102400040511260741" unitRef="usd">247000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:ForeignCurrencyCashFlowHedgeAssetAtFairValue contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-1BDA9F5D3F59E02297D603E106FA1E5B" unitRef="usd">0</us-gaap:ForeignCurrencyCashFlowHedgeAssetAtFairValue>
	<us-gaap:ForeignCurrencyCashFlowHedgeAssetAtFairValue contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-F739FF9B00BD43DEF4F7F96A4821E469" unitRef="usd">0</us-gaap:ForeignCurrencyCashFlowHedgeAssetAtFairValue>
	<us-gaap:ForeignCurrencyCashFlowHedgeAssetAtFairValue contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-E81204DC10338F98555603E086AC51E9" unitRef="usd">0</us-gaap:ForeignCurrencyCashFlowHedgeAssetAtFairValue>
	<us-gaap:ForeignCurrencyCashFlowHedgeLiabilityAtFairValue contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-7CFB89D93FD48F53E53F03E10D823DB6" unitRef="usd">0</us-gaap:ForeignCurrencyCashFlowHedgeLiabilityAtFairValue>
	<us-gaap:ForeignCurrencyCashFlowHedgeLiabilityAtFairValue contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-5D8B88FAEA7E03036AB3F96A48218BAD" unitRef="usd">0</us-gaap:ForeignCurrencyCashFlowHedgeLiabilityAtFairValue>
	<us-gaap:ForeignCurrencyCashFlowHedgeLiabilityAtFairValue contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-44692434103149E08A8903E08F837B7D" unitRef="usd">0</us-gaap:ForeignCurrencyCashFlowHedgeLiabilityAtFairValue>
	<us-gaap:ForeignCurrencyContractAssetFairValueDisclosure contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-329865FDCCFE60CBD9A903E1097882A1" unitRef="usd">0</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
	<us-gaap:ForeignCurrencyContractAssetFairValueDisclosure contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-941E31156CB9C8ADA9AAF96A48302683" unitRef="usd">4000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
	<us-gaap:ForeignCurrencyContractAssetFairValueDisclosure contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-0A0ADAA0FE8BAB60076B03E08ACFE2D6" unitRef="usd">0</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
	<us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-6704BEBFC6C23AAB8C2203E110BB5F08" unitRef="usd">0</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
	<us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-F854F37DAEC318342163F96A48203EB4" unitRef="usd">18000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
	<us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-3580BB33C212ADCDBAF103E093A597D6" unitRef="usd">0</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
	<us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="FD2017Q1QTD" decimals="-3" id="Fact-7917EB45FB6D92E2C6F6F96A4838A012" unitRef="usd">-263000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
	<us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="FD2018Q1YTD" decimals="-3" id="Fact-CBFDA22FAB2C2A2CB426F96A4837B89E" unitRef="usd">-134000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
	<us-gaap:GainLossOnSaleOfInvestments contextRef="FD2017Q1QTD" decimals="-3" id="Fact-8685AB7D8FA249703559F96A483BFF0B" unitRef="usd">65000</us-gaap:GainLossOnSaleOfInvestments>
	<us-gaap:GainLossOnSaleOfInvestments contextRef="FD2018Q1YTD" decimals="-3" id="Fact-D9D8AD80F60560F33D02F96A482046E2" unitRef="usd">22000</us-gaap:GainLossOnSaleOfInvestments>
	<us-gaap:Goodwill contextRef="FI2017Q4" decimals="-3" id="Fact-E935292215DA6478D10BF96A482E688E" unitRef="usd">113208000</us-gaap:Goodwill>
	<us-gaap:Goodwill contextRef="FI2018Q1" decimals="-3" id="Fact-EF10E9F2A3A6EEB7ADBBF96A483710B2" unitRef="usd">113208000</us-gaap:Goodwill>
	<us-gaap:GrossProfit contextRef="FD2017Q1QTD" decimals="-3" id="Fact-F3525C537AE1685842BBF96A482FBCC7" unitRef="usd">106507000</us-gaap:GrossProfit>
	<us-gaap:GrossProfit contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-3" id="Fact-5A76FE6E67DB82EADE390422EA43FA63" unitRef="usd">-210000</us-gaap:GrossProfit>
	<us-gaap:GrossProfit contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="-3" id="Fact-767838DEE582F10A80780422EA411B77" unitRef="usd">106717000</us-gaap:GrossProfit>
	<us-gaap:GrossProfit contextRef="FD2018Q1YTD" decimals="-3" id="Fact-EFD2276841D3AE021627F96A482095CB" unitRef="usd">129369000</us-gaap:GrossProfit>
	<us-gaap:IncomeLossFromContinuingOperations contextRef="FD2017Q1QTD" decimals="-3" id="Fact-699C9303B36C9F436549F96A48427AFC" unitRef="usd">45471000</us-gaap:IncomeLossFromContinuingOperations>
	<us-gaap:IncomeLossFromContinuingOperations contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-3" id="Fact-87918DF25363BE0528A20423716BE9BE" unitRef="usd">-184000</us-gaap:IncomeLossFromContinuingOperations>
	<us-gaap:IncomeLossFromContinuingOperations contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="-3" id="Fact-CAB0487F38F43D6DE12C04237158CE63" unitRef="usd">45655000</us-gaap:IncomeLossFromContinuingOperations>
	<us-gaap:IncomeLossFromContinuingOperations contextRef="FD2018Q1YTD" decimals="-3" id="Fact-30BFE6EFBCEAEB242394F96A483BB258" unitRef="usd">37217000</us-gaap:IncomeLossFromContinuingOperations>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="FD2017Q1QTD" decimals="-3" id="Fact-44158FD14A850E1E71DCF96A482106BC" unitRef="usd">39235000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-3" id="Fact-3A7E6C8A380AD8DD8C1904232E9DCC75" unitRef="usd">-210000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="-3" id="Fact-204755C30AEAE0C5846E04232EAB9252" unitRef="usd">39445000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="FD2018Q1YTD" decimals="-3" id="Fact-96AC0EB9B294977B6892F96A483B66A0" unitRef="usd">37979000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
	<us-gaap:IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear contextRef="FI2018Q1" decimals="-3" id="Fact-52DFBD520C7A597DBFD9F96A4839FEF5" unitRef="usd">484000</us-gaap:IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear>
	<us-gaap:IncomeTaxExpenseBenefit contextRef="FD2017Q1QTD" decimals="-3" id="Fact-D9D584EBA099475470BCF96A482E55B1" unitRef="usd">-6236000</us-gaap:IncomeTaxExpenseBenefit>
	<us-gaap:IncomeTaxExpenseBenefit contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-3" id="Fact-94252DE794390DE548D804234CBB051F" unitRef="usd">-26000</us-gaap:IncomeTaxExpenseBenefit>
	<us-gaap:IncomeTaxExpenseBenefit contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="-3" id="Fact-2E63ABB824597FF12E2304234CA7BD49" unitRef="usd">-6210000</us-gaap:IncomeTaxExpenseBenefit>
	<us-gaap:IncomeTaxExpenseBenefit contextRef="FD2018Q1YTD" decimals="-3" id="Fact-A1037B6D8C602E29FD90F96A48301B03" unitRef="usd">762000</us-gaap:IncomeTaxExpenseBenefit>
	<us-gaap:IncreaseDecreaseInAccountsPayable contextRef="FD2017Q1QTD" decimals="-3" id="Fact-5A79901808081FEB9426F96A48398A66" unitRef="usd">7167000</us-gaap:IncreaseDecreaseInAccountsPayable>
	<us-gaap:IncreaseDecreaseInAccountsPayable contextRef="FD2018Q1YTD" decimals="-3" id="Fact-8683D48FC5AB5A614836F96A48440067" unitRef="usd">5309000</us-gaap:IncreaseDecreaseInAccountsPayable>
	<us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="FD2017Q1QTD" decimals="-3" id="Fact-DF782D6767107D2C6845F96A4843B50E" unitRef="usd">2238000</us-gaap:IncreaseDecreaseInAccountsReceivable>
	<us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="FD2018Q1YTD" decimals="-3" id="Fact-790728D1BDEAE57286FEF96A483BDF16" unitRef="usd">-24830000</us-gaap:IncreaseDecreaseInAccountsReceivable>
	<us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="FD2017Q1QTD" decimals="-3" id="Fact-ABC18D26C70B6728B12AF96A4844CE0E" unitRef="usd">-3398000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
	<us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="FD2018Q1YTD" decimals="-3" id="Fact-CFBBB509921A0EE06C2DF96A483A193E" unitRef="usd">-9927000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
	<us-gaap:IncreaseDecreaseInAccruedTaxesPayable contextRef="FD2017Q1QTD" decimals="-3" id="Fact-F059FE5C4D6893822E0EF96A483A8C90" unitRef="usd">397000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
	<us-gaap:IncreaseDecreaseInAccruedTaxesPayable contextRef="FD2018Q1YTD" decimals="-3" id="Fact-1ABE4B6B7DB59F3DE8FCF96A4841737B" unitRef="usd">186000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
	<us-gaap:IncreaseDecreaseInDeferredIncomeTaxes contextRef="FD2017Q1QTD" decimals="-3" id="Fact-1204F871D557BD229D0FF96A484445F5" unitRef="usd">-921000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
	<us-gaap:IncreaseDecreaseInDeferredIncomeTaxes contextRef="FD2018Q1YTD" decimals="-3" id="Fact-C758A42D2575E0F76DCAF96A4839686D" unitRef="usd">1469000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
	<us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="FD2017Q1QTD" decimals="-3" id="Fact-E570C2BBE23903609546F96A48448954" unitRef="usd">5839000</us-gaap:IncreaseDecreaseInDeferredRevenue>
	<us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="FD2018Q1YTD" decimals="-3" id="Fact-7F2DC64EBCF688D613E3F96A48395C62" unitRef="usd">5877000</us-gaap:IncreaseDecreaseInDeferredRevenue>
	<us-gaap:IncreaseDecreaseInInventories contextRef="FD2017Q1QTD" decimals="-3" id="Fact-780CEECB899FFF45F7D7F96A48440D5E" unitRef="usd">5386000</us-gaap:IncreaseDecreaseInInventories>
	<us-gaap:IncreaseDecreaseInInventories contextRef="FD2018Q1YTD" decimals="-3" id="Fact-4DF9E8A4F922A62A6ECDF96A484387B8" unitRef="usd">27321000</us-gaap:IncreaseDecreaseInInventories>
	<us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet contextRef="FD2017Q1QTD" decimals="-3" id="Fact-5AA3DA62ACA3827B8EE5F96A48382F30" unitRef="usd">734000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
	<us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet contextRef="FD2018Q1YTD" decimals="-3" id="Fact-C4F05269546707FC9CF2F96A4843E578" unitRef="usd">424000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
	<us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="FD2017Q1QTD" decimals="-3" id="Fact-5E8DE1E92C8F116402FAF96A48430646" unitRef="usd">12461000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
	<us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="FD2018Q1YTD" decimals="-3" id="Fact-2211C86D069898392D14F96A4828850D" unitRef="usd">866000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
	<us-gaap:IncreaseDecreaseInUnbilledReceivables contextRef="FD2017Q1QTD" decimals="-3" id="Fact-B3686C3DE01D48E18128F96A48441138" unitRef="usd">-953000</us-gaap:IncreaseDecreaseInUnbilledReceivables>
	<us-gaap:IncreaseDecreaseInUnbilledReceivables contextRef="FD2018Q1YTD" decimals="-3" id="Fact-A480785D34F680482C6BF96A4844A2C8" unitRef="usd">-3389000</us-gaap:IncreaseDecreaseInUnbilledReceivables>
	<us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="FI2017Q4" decimals="-3" id="Fact-A58FF4D6691771435381F96A482888E4" unitRef="usd">31882000</us-gaap:InventoryFinishedGoodsNetOfReserves>
	<us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="FI2018Q1" decimals="-3" id="Fact-35FAD47E5CF2C9612B85F96A482B5523" unitRef="usd">51448000</us-gaap:InventoryFinishedGoodsNetOfReserves>
	<us-gaap:InventoryNet contextRef="FI2017Q4" decimals="-3" id="Fact-691BCD94629718E3F658F96A48212B66" unitRef="usd">67923000</us-gaap:InventoryNet>
	<us-gaap:InventoryNet contextRef="FI2018Q1" decimals="-3" id="Fact-C71BB790FFD9AF420D37F96A48363C45" unitRef="usd">96399000</us-gaap:InventoryNet>
	<us-gaap:InventoryRawMaterialsNetOfReserves contextRef="FI2017Q4" decimals="-3" id="Fact-39332BA45E7367C35B8BF96A4828266F" unitRef="usd">33927000</us-gaap:InventoryRawMaterialsNetOfReserves>
	<us-gaap:InventoryRawMaterialsNetOfReserves contextRef="FI2018Q1" decimals="-3" id="Fact-3E0FDB2F4365B83BDC23F96A4821831F" unitRef="usd">42759000</us-gaap:InventoryRawMaterialsNetOfReserves>
	<us-gaap:InventoryWorkInProcessNetOfReserves contextRef="FI2017Q4" decimals="-3" id="Fact-10CD2B7136A70D917684F96A482925AF" unitRef="usd">2114000</us-gaap:InventoryWorkInProcessNetOfReserves>
	<us-gaap:InventoryWorkInProcessNetOfReserves contextRef="FI2018Q1" decimals="-3" id="Fact-EDDDF1E7D45CBD69F11DF96A482673E9" unitRef="usd">2192000</us-gaap:InventoryWorkInProcessNetOfReserves>
	<us-gaap:InvestmentIncomeNonoperating contextRef="FD2017Q1QTD" decimals="-3" id="Fact-B40277A998BA14AD1DA5F96A48419329" unitRef="usd">2012000</us-gaap:InvestmentIncomeNonoperating>
	<us-gaap:InvestmentIncomeNonoperating contextRef="FD2018Q1YTD" decimals="-3" id="Fact-3168A1191685C15ED538F96A482D3656" unitRef="usd">3240000</us-gaap:InvestmentIncomeNonoperating>
	<us-gaap:Liabilities contextRef="FI2017Q4" decimals="-3" id="Fact-5E3A52A51D183E44DCE1F96A48439AAB" unitRef="usd">192080000</us-gaap:Liabilities>
	<us-gaap:Liabilities contextRef="FI2018Q1" decimals="-3" id="Fact-B338FA458980FC31DE08F96A48304030" unitRef="usd">191816000</us-gaap:Liabilities>
	<us-gaap:LiabilitiesAndStockholdersEquity contextRef="FI2017Q4" decimals="-3" id="Fact-C0FAA3321A8453E7225CF96A48303BB8" unitRef="usd">1287753000</us-gaap:LiabilitiesAndStockholdersEquity>
	<us-gaap:LiabilitiesAndStockholdersEquity contextRef="FI2018Q1" decimals="-3" id="Fact-58FCA213492E3BE1CC71F96A482EA3A8" unitRef="usd">1268915000</us-gaap:LiabilitiesAndStockholdersEquity>
	<us-gaap:LiabilitiesCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-1DF467DDFA51DB37D05CF96A48212FC8" unitRef="usd">112635000</us-gaap:LiabilitiesCurrent>
	<us-gaap:LiabilitiesCurrent contextRef="FI2018Q1" decimals="-3" id="Fact-DF04EACAEEEE2EAFE364F96A482B7F8F" unitRef="usd">113018000</us-gaap:LiabilitiesCurrent>
	<us-gaap:LiabilitiesFairValueAdjustment contextRef="FD2018Q1YTD_us-gaap_ContingentConsiderationByTypeAxis_cgnx_ChiaroContingentConsiderationMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-FB9DFEB9C79731AB3F9AFE0E840C8165" unitRef="usd">52000</us-gaap:LiabilitiesFairValueAdjustment>
	<us-gaap:LiabilitiesFairValueAdjustment contextRef="FD2018Q1YTD_us-gaap_ContingentConsiderationByTypeAxis_cgnx_GVIContingentConsiderationMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-9F70B4804FAFF1419577FE0E9B8D67A5" unitRef="usd">181000</us-gaap:LiabilitiesFairValueAdjustment>
	<us-gaap:LiabilitiesFairValueAdjustment contextRef="FD2018Q1YTD_us-gaap_ContingentConsiderationByTypeAxis_cgnx_ManateeContingentConsiderationMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-B16E578A377A9243EEB7F96A4820D5F3" unitRef="usd">-675000</us-gaap:LiabilitiesFairValueAdjustment>
	<us-gaap:LiabilityForUncertainTaxPositionsNoncurrent contextRef="FI2017Q4" decimals="-3" id="Fact-975655BDA94F210CCF48F96A482F5BF4" unitRef="usd">6488000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
	<us-gaap:LiabilityForUncertainTaxPositionsNoncurrent contextRef="FI2018Q1" decimals="-3" id="Fact-D96D26890B421BF2B8B6F96A482F437C" unitRef="usd">6958000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
	<us-gaap:LongTermInvestments contextRef="FI2017Q4" decimals="-3" id="Fact-FA759476C34AF22FC2A9F96A482ED7F1" unitRef="usd">423441000</us-gaap:LongTermInvestments>
	<us-gaap:LongTermInvestments contextRef="FI2018Q1" decimals="-3" id="Fact-2ADACCCC35D9C1AF023AF96A482B2CB2" unitRef="usd">356181000</us-gaap:LongTermInvestments>
	<us-gaap:MaximumLengthOfTimeHedgedInCashFlowHedge1 contextRef="FD2018Q1YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" id="Fact-1DBA6F3EECCCB77D813AF96A482BE5A6">P18M</us-gaap:MaximumLengthOfTimeHedgedInCashFlowHedge1>
	<us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1 contextRef="FD2018Q1YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" id="Fact-2FE9211334503F722E83F96A482F8024">P45D</us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1>
	<us-gaap:MoneyMarketFundsAtCarryingValue contextRef="FI2017Q4" decimals="-3" id="Fact-5810752508E18FAFEC60F96A484266BF" unitRef="usd">8631000</us-gaap:MoneyMarketFundsAtCarryingValue>
	<us-gaap:MoneyMarketFundsAtCarryingValue contextRef="FI2018Q1" decimals="-3" id="Fact-4298A6B13C0D4B1DBF2BF96A48395D91" unitRef="usd">7958000</us-gaap:MoneyMarketFundsAtCarryingValue>
	<us-gaap:MoneyMarketFundsAtCarryingValue contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-8A4ADDC7775B8650C667F96A4821BE0F" unitRef="usd">7958000</us-gaap:MoneyMarketFundsAtCarryingValue>
	<us-gaap:MoneyMarketFundsAtCarryingValue contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-C779E834E580B631C099F96A4821CB0D" unitRef="usd">0</us-gaap:MoneyMarketFundsAtCarryingValue>
	<us-gaap:MoneyMarketFundsAtCarryingValue contextRef="FI2018Q1_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-88A02D493065371042C303E05E61743A" unitRef="usd">0</us-gaap:MoneyMarketFundsAtCarryingValue>
	<us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="FD2017Q1QTD" decimals="-3" id="Fact-37C64E839701EA0DDD6DF96A48445962" unitRef="usd">-7425000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
	<us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="FD2018Q1YTD" decimals="-3" id="Fact-BA3EA46E3E9D67B81548F96A483A44AA" unitRef="usd">-65866000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
	<us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="FD2017Q1QTD" decimals="-3" id="Fact-3933F1B9F9586F4C85E0F96A4839FDD1" unitRef="usd">-28507000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
	<us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="FD2018Q1YTD" decimals="-3" id="Fact-9911A3669A45D64257ABF96A484475C0" unitRef="usd">12959000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
	<us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="FD2017Q1QTD" decimals="-3" id="Fact-B3A0F3004E67F566FF07F96A48431D46" unitRef="usd">47715000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
	<us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="FD2018Q1YTD" decimals="-3" id="Fact-2806F076077BE984E841F96A48439BD8" unitRef="usd">54786000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
	<us-gaap:NetIncomeLoss contextRef="FD2017Q1QTD" decimals="-3" id="Fact-033730E290FAD114A2F6F96A483BF68F" unitRef="usd">45471000</us-gaap:NetIncomeLoss>
	<us-gaap:NetIncomeLoss contextRef="FD2018Q1YTD" decimals="-3" id="Fact-D210EF1F5C7B32FE5551F96A483966DA" unitRef="usd">37217000</us-gaap:NetIncomeLoss>
	<us-gaap:NetIncomeLoss contextRef="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-A2CE93973AB17961C820F96A48391A0D" unitRef="usd">37217000</us-gaap:NetIncomeLoss>
	<us-gaap:OperatingIncomeLoss contextRef="FD2017Q1QTD" decimals="-3" id="Fact-3B874D4B24612A4EA83BF96A4843192F" unitRef="usd">37216000</us-gaap:OperatingIncomeLoss>
	<us-gaap:OperatingIncomeLoss contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-3" id="Fact-4A86D9817AA1ECBAF298042313975B3B" unitRef="usd">-210000</us-gaap:OperatingIncomeLoss>
	<us-gaap:OperatingIncomeLoss contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="-3" id="Fact-6A6BBB624B315E07D3530423139A3EE7" unitRef="usd">37426000</us-gaap:OperatingIncomeLoss>
	<us-gaap:OperatingIncomeLoss contextRef="FD2018Q1YTD" decimals="-3" id="Fact-CB56EB565FF066D0D3D1F96A48432472" unitRef="usd">34596000</us-gaap:OperatingIncomeLoss>
	<us-gaap:OtherAssetsNoncurrent contextRef="FI2017Q4" decimals="-3" id="Fact-E292DB349632C7075040F96A4821A1EB" unitRef="usd">2491000</us-gaap:OtherAssetsNoncurrent>
	<us-gaap:OtherAssetsNoncurrent contextRef="FI2018Q1" decimals="-3" id="Fact-A461B916005A099B8ECDF96A4830C845" unitRef="usd">2217000</us-gaap:OtherAssetsNoncurrent>
	<us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent contextRef="FD2017Q1QTD" decimals="-3" id="Fact-D8A3BC286FFC0D539412F96A4842091D" unitRef="usd">446000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent contextRef="FD2018Q1YTD" decimals="-3" id="Fact-9C73F15BD83047933456F96A483A45B9" unitRef="usd">-1214000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax contextRef="FD2017Q1QTD" decimals="-3" id="Fact-9A74E112931F51B61A02F96A4821D2B5" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax contextRef="FD2018Q1YTD" decimals="-3" id="Fact-464B27D8EE1225A9988EF96A4821FAB4" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax contextRef="FD2017Q1QTD" decimals="-3" id="Fact-2BB5620163F7BEF912A6F96A483B96E6" unitRef="usd">-27000</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax contextRef="FD2018Q1YTD" decimals="-3" id="Fact-BA85AE4A5910AF973F71F96A48414494" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax contextRef="FD2017Q1QTD" decimals="-3" id="Fact-AD953BC24A9D37C0F544F96A4821ACD4" unitRef="usd">-4000</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax contextRef="FD2018Q1YTD" decimals="-3" id="Fact-AA7AF1397FB2F55B5A2EF96A4821E824" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2017Q1QTD" decimals="-3" id="Fact-AF24E12A35E004ACB6BCF96A483A0352" unitRef="usd">2481000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2018Q1YTD" decimals="-3" id="Fact-A2131DD6DA04FE32F865F96A4841CED3" unitRef="usd">4056000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-DE6458E3CEE84AB92256F96A483821AC" unitRef="usd">4056000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="FD2017Q1QTD" decimals="-3" id="Fact-13C102167021E1ADE4A8F96A4841FA0F" unitRef="usd">2900000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="FD2018Q1YTD" decimals="-3" id="Fact-6BE827D816DE2945A6E4F96A483A2861" unitRef="usd">2842000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2017Q1QTD" decimals="-3" id="Fact-C38A1CAC4E7073B1F800F96A483982D0" unitRef="usd">65000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2018Q1YTD" decimals="-3" id="Fact-122C155C3D3E61137775F96A48397DF2" unitRef="usd">22000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-7C70A778244685C68C4BF96A48374100" unitRef="usd">22000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2017Q1QTD" decimals="-3" id="Fact-6235C8A4C1C7F4C7DF21F96A483BBA26" unitRef="usd">-44000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2018Q1YTD" decimals="-3" id="Fact-7212966406F9645DB0EFF96A483A2E45" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax contextRef="FD2017Q1QTD" decimals="-3" id="Fact-135A4C84BA3D18E06723F96A483945B7" unitRef="usd">-71000</us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax contextRef="FD2018Q1YTD" decimals="-3" id="Fact-A866E229D02A64B2B5CDF96A483AFA47" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax contextRef="FD2017Q1QTD" decimals="-3" id="Fact-E56EFCAD2E5FB2820B10F96A483AD293" unitRef="usd">511000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax contextRef="FD2018Q1YTD" decimals="-3" id="Fact-D05DCD2DBB0C36642051F96A483AC3C7" unitRef="usd">-1192000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax contextRef="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-F1491C4942834BA2B544F96A4838A941" unitRef="usd">-1192000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax contextRef="FD2017Q1QTD" decimals="-3" id="Fact-9C7DBEF8521A33F2FCCAF96A48213A67" unitRef="usd">92000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax contextRef="FD2018Q1YTD" decimals="-3" id="Fact-CFCC412882363DBF54D9F96A4821E14E" unitRef="usd">-114000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
	<us-gaap:OtherLiabilitiesNoncurrent contextRef="FI2017Q4" decimals="-3" id="Fact-E7731575188282E3A022F96A482052FB" unitRef="usd">5904000</us-gaap:OtherLiabilitiesNoncurrent>
	<us-gaap:OtherLiabilitiesNoncurrent contextRef="FI2018Q1" decimals="-3" id="Fact-58E0F9A26FFF312F47F3F96A4828BF1E" unitRef="usd">4780000</us-gaap:OtherLiabilitiesNoncurrent>
	<us-gaap:OtherNonoperatingIncomeExpense contextRef="FD2017Q1QTD" decimals="-3" id="Fact-23F33ACA2BFB3B35AA68F96A48377834" unitRef="usd">270000</us-gaap:OtherNonoperatingIncomeExpense>
	<us-gaap:OtherNonoperatingIncomeExpense contextRef="FD2018Q1YTD" decimals="-3" id="Fact-811F58F989FDA09BA4A8F96A4843B77F" unitRef="usd">277000</us-gaap:OtherNonoperatingIncomeExpense>
	<us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="FD2017Q1QTD" decimals="-3" id="Fact-43A7E355122D6D2550A3F96A48434118" unitRef="usd">30067000</us-gaap:PaymentsForRepurchaseOfCommonStock>
	<us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="FD2018Q1YTD" decimals="-3" id="Fact-C00547FF95BD0801CA5BF96A48444D45" unitRef="usd">69202000</us-gaap:PaymentsForRepurchaseOfCommonStock>
	<us-gaap:PaymentsOfDividendsCommonStock contextRef="FD2017Q1QTD" decimals="-3" id="Fact-945F3A30879F91C7FC20F96A4831012A" unitRef="usd">6497000</us-gaap:PaymentsOfDividendsCommonStock>
	<us-gaap:PaymentsOfDividendsCommonStock contextRef="FD2018Q1YTD" decimals="-3" id="Fact-34D257D0398CE766BF39F96A48441911" unitRef="usd">7787000</us-gaap:PaymentsOfDividendsCommonStock>
	<us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="FD2017Q1QTD" decimals="-3" id="Fact-B375B55785C7E9EE6296F96A48390378" unitRef="usd">176000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
	<us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="FD2018Q1YTD" decimals="-3" id="Fact-D99964385B7EC37785BCF96A4842EC8A" unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
	<us-gaap:PaymentsToAcquireInvestments contextRef="FD2017Q1QTD" decimals="-3" id="Fact-68569CB5A4D5D1608470F96A48390143" unitRef="usd">193612000</us-gaap:PaymentsToAcquireInvestments>
	<us-gaap:PaymentsToAcquireInvestments contextRef="FD2018Q1YTD" decimals="-3" id="Fact-0CB3E8021869393E79C8F96A482A594C" unitRef="usd">118108000</us-gaap:PaymentsToAcquireInvestments>
	<us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="FD2017Q1QTD" decimals="-3" id="Fact-5C52EC21D2FC63C0DA99F96A4821554B" unitRef="usd">6095000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
	<us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="FD2018Q1YTD" decimals="-3" id="Fact-E8BAB15015C96942F4BFF96A4837D780" unitRef="usd">13270000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
	<us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-AE60620F5E40CC7326D9F96A4828CDD6" unitRef="usd">30683000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
	<us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="FI2017Q4_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-3" id="Fact-8008DCD508192C68620E04257C4F7AF8" unitRef="usd">-117000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
	<us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="FI2017Q4_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="-3" id="Fact-CAC3DD85F40CE17A6D8504257C4B9AF9" unitRef="usd">30800000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
	<us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="FI2018Q1" decimals="-3" id="Fact-5A70B76AF9BEF7B8C6D2F96A482EA157" unitRef="usd">26068000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
	<us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions contextRef="FD2017Q1QTD" decimals="-3" id="Fact-79D1AC78FCD6E1C5C543F96A48424595" unitRef="usd">29139000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
	<us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions contextRef="FD2018Q1YTD" decimals="-3" id="Fact-1EF8227C0DF8A0C556CCF96A48317746" unitRef="usd">11123000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
	<us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="FD2017Q1QTD" decimals="-3" id="Fact-78D34C936504C72F0224F96A4844172A" unitRef="usd">171667000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
	<us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="FD2018Q1YTD" decimals="-3" id="Fact-2E2049B843DF8EF35775F96A4830C54E" unitRef="usd">144337000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
	<us-gaap:ProductWarrantyAccrual contextRef="FI2017Q4" decimals="-3" id="Fact-B4FA7FDD9A0ECCF4150DF96A482ABB0C" unitRef="usd">4701000</us-gaap:ProductWarrantyAccrual>
	<us-gaap:ProductWarrantyAccrual contextRef="FI2018Q1" decimals="-3" id="Fact-D434E90A87218BB12F56F96A482AD875" unitRef="usd">4712000</us-gaap:ProductWarrantyAccrual>
	<us-gaap:ProductWarrantyAccrualPayments contextRef="FD2018Q1YTD" decimals="-3" id="Fact-AE72019DCD8CB5FFB9ABF96A482EF64A" unitRef="usd">802000</us-gaap:ProductWarrantyAccrualPayments>
	<us-gaap:ProductWarrantyAccrualWarrantiesIssued contextRef="FD2018Q1YTD" decimals="-3" id="Fact-5B17FC37E8EAB5E4AEF3F96A482B5CFE" unitRef="usd">697000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
	<us-gaap:PropertyPlantAndEquipmentNet contextRef="FI2017Q4" decimals="-3" id="Fact-714953488277CBBB0C49F96A4830CB53" unitRef="usd">78048000</us-gaap:PropertyPlantAndEquipmentNet>
	<us-gaap:PropertyPlantAndEquipmentNet contextRef="FI2018Q1" decimals="-3" id="Fact-50AAE5D63006E313DF96F96A4842708B" unitRef="usd">85205000</us-gaap:PropertyPlantAndEquipmentNet>
	<us-gaap:ResearchAndDevelopmentExpense contextRef="FD2017Q1QTD" decimals="-3" id="Fact-50DF5FE61D9FF91AE9DEF96A48319218" unitRef="usd">22770000</us-gaap:ResearchAndDevelopmentExpense>
	<us-gaap:ResearchAndDevelopmentExpense contextRef="FD2018Q1YTD" decimals="-3" id="Fact-A04201A0C35D530E123FF96A482F5B20" unitRef="usd">31076000</us-gaap:ResearchAndDevelopmentExpense>
	<us-gaap:RetainedEarningsAccumulatedDeficit contextRef="FI2017Q4" decimals="-3" id="Fact-384FBA08F7DFC89EA49FF96A48206616" unitRef="usd">668587000</us-gaap:RetainedEarningsAccumulatedDeficit>
	<us-gaap:RetainedEarningsAccumulatedDeficit contextRef="FI2017Q4_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-3" id="Fact-74634AAE652BB55989BB0425EEA28AC1" unitRef="usd">320000</us-gaap:RetainedEarningsAccumulatedDeficit>
	<us-gaap:RetainedEarningsAccumulatedDeficit contextRef="FI2017Q4_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="-3" id="Fact-C5A3297E83309FD20EF00425EE9FEA9E" unitRef="usd">668267000</us-gaap:RetainedEarningsAccumulatedDeficit>
	<us-gaap:RetainedEarningsAccumulatedDeficit contextRef="FI2018Q1" decimals="-3" id="Fact-0F8619B64F17DE5634CFF96A4821F674" unitRef="usd">622856000</us-gaap:RetainedEarningsAccumulatedDeficit>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2017Q1QTD" decimals="-3" id="Fact-B17D916701C1FABDB8370428B3CE65BD" unitRef="usd">139039000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2017Q1YTD_us-gaap_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember" decimals="0" id="Fact-A9EE40711C28EFCF6B93042C370F1ABB" unitRef="usd">6022</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2017Q1YTD_us-gaap_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember" decimals="0" id="Fact-DB06C4569355E9B4D228042C3716138B" unitRef="usd">133017</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2017Q1YTD_us-gaap_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember" decimals="-3" id="Fact-644B7CB4BEF4A50039290428B4E3CC70" unitRef="usd">30686000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2017Q1YTD_us-gaap_StatementGeographicalAxis_cgnx_NorthAndSouthAmericaMember" decimals="-3" id="Fact-8CEBE91A8D2BFCEE227D0428B2CA59DA" unitRef="usd">42540000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2017Q1YTD_us-gaap_StatementGeographicalAxis_country_CN" decimals="-3" id="Fact-3A6C5758DB8CBC44D6570428B2EF2079" unitRef="usd">22706000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2017Q1YTD_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember" decimals="-3" id="Fact-D9C065CACC2AC6C84CBE0428B3254F1D" unitRef="usd">43107000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2018Q1YTD" decimals="-3" id="Fact-9AA2ED7CB80E35ED9D740428B2B0A221" unitRef="usd">169567000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2018Q1YTD_us-gaap_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember" decimals="-3" id="Fact-F2624EBA2F5F62A65256042C371D3C81" unitRef="usd">11168000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2018Q1YTD_us-gaap_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember" decimals="-3" id="Fact-035FE547B691FF4A07B8042C370A7885" unitRef="usd">158399000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2018Q1YTD_us-gaap_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember" decimals="-3" id="Fact-AE65FED753D6059F34FB0428B4486E63" unitRef="usd">26988000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2018Q1YTD_us-gaap_StatementGeographicalAxis_cgnx_NorthAndSouthAmericaMember" decimals="-3" id="Fact-5D857D466080F68AE5A30428B2A95F55" unitRef="usd">59217000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2018Q1YTD_us-gaap_StatementGeographicalAxis_country_CN" decimals="-3" id="Fact-1A71CAFB7B83899B5CED0428B59BD348" unitRef="usd">27159000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="FD2018Q1YTD_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember" decimals="-3" id="Fact-2F49BB4988A8F1D25E670428B37122E1" unitRef="usd">56203000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
	<us-gaap:SalesRevenueNet contextRef="FD2017Q1QTD" decimals="-3" id="Fact-4A25222DAC940BDCDB66F96A48300A4A" unitRef="usd">139039000</us-gaap:SalesRevenueNet>
	<us-gaap:SalesRevenueNet contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_RestatementAdjustmentMember" decimals="-3" id="Fact-740558898A2109F311260422B5345B32" unitRef="usd">4097000</us-gaap:SalesRevenueNet>
	<us-gaap:SalesRevenueNet contextRef="FD2017Q1YTD_us-gaap_StatementScenarioAxis_us-gaap_ScenarioPreviouslyReportedMember" decimals="-3" id="Fact-E617595812A5450AA7E00422B5371784" unitRef="usd">134942000</us-gaap:SalesRevenueNet>
	<us-gaap:SalesRevenueNet contextRef="FD2018Q1YTD" decimals="-3" id="Fact-428760DE27A7878F00D1F96A482F5B36" unitRef="usd">169567000</us-gaap:SalesRevenueNet>
	<us-gaap:SellingGeneralAndAdministrativeExpense contextRef="FD2017Q1QTD" decimals="-3" id="Fact-A4BFAD20D2CC07334925F96A484376AD" unitRef="usd">46521000</us-gaap:SellingGeneralAndAdministrativeExpense>
	<us-gaap:SellingGeneralAndAdministrativeExpense contextRef="FD2018Q1YTD" decimals="-3" id="Fact-AC9F36DEDA24EAB4FBE8F96A482AE5B3" unitRef="usd">63697000</us-gaap:SellingGeneralAndAdministrativeExpense>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="FD2018Q1YTD_us-gaap_PlanNameAxis_cgnx_GeneralStockOptionPlanMember" id="Fact-FBE8B87EFE6D9967B29FF96A483169AA">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod contextRef="FD2018Q1YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-FE71C01C70E697695279F96A48383E3F" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue contextRef="FD2018Q1YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="2" id="Fact-81E9520BA49A9DECC32BF96A48372270" unitRef="usdPerShare">0.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="FD2018Q1YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-096BF7079DEA6F7336B2F96A483BC6EB" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="FD2018Q1YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="2" id="Fact-13180255C9A05778EDD3F96A483A218E" unitRef="usdPerShare">0.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="FI2017Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-04B12E59EB5663663C4DF96A483A91C0" unitRef="shares">20000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="FI2018Q1_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-E095A4A11CB86B891DC9F96A4842B9BA" unitRef="shares">20000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="FI2017Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="2" id="Fact-7C711425FA3C6230CABFF96A4841AF1C" unitRef="usdPerShare">17.03</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="FI2018Q1_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="2" id="Fact-0C28BAAD2738987874F9F96A483914C6" unitRef="usdPerShare">17.03</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod contextRef="FD2018Q1YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-3C2369D1B3B9B734D035F96A4839D194" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue contextRef="FD2018Q1YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="2" id="Fact-479C27C99AE4D84BB04AF96A4841038F" unitRef="usdPerShare">0.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="FD2017Q1QTD" decimals="4" id="Fact-AE50DAA26A0ED0E3A056F96A48384E01" unitRef="number">0.0039</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="FD2018Q1YTD" decimals="4" id="Fact-8DBCF7DC262C92107033F96A482F0803" unitRef="number">0.0032</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="FD2017Q1QTD" decimals="2" id="Fact-780FA68280A430A880F3F96A4837FF4B" unitRef="number">0.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="FD2018Q1YTD" decimals="2" id="Fact-48B6BE4777D36CC97831F96A4837DB79" unitRef="number">0.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="FD2017Q1QTD" decimals="3" id="Fact-87F56E9C1B983C591B80F96A4831E1A3" unitRef="number">0.024</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="FD2018Q1YTD" decimals="3" id="Fact-E47CED5A306653D9B10CF96A482F4B87" unitRef="number">0.029</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant contextRef="FI2018Q1_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" decimals="INF" id="Fact-CC0FF11A2725E9AD6CC6F96A48388005" unitRef="shares">10160452</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="FI2018Q1" decimals="-3" id="Fact-18FDD23AFFAF895131EDF96A4839E639" unitRef="shares">4879000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice contextRef="FI2018Q1" decimals="2" id="Fact-612B6443A31977AAF14EF96A4837571A" unitRef="usdPerShare">19.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod contextRef="FD2018Q1YTD" decimals="-3" id="Fact-2D3F07696AEF6564ACB0F96A4830B853" unitRef="shares">68000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice contextRef="FD2018Q1YTD" decimals="2" id="Fact-B507EB18E1A7E63E1B0BF96A48388591" unitRef="usdPerShare">25.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod contextRef="FD2018Q1YTD" decimals="-3" id="Fact-20CABF843D8976D9A8CEF96A483AAD1B" unitRef="shares">2043000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="FD2017Q1QTD" decimals="2" id="Fact-846824765C0AD230AA81F96A483A873F" unitRef="usdPerShare">14.95</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="FD2018Q1YTD" decimals="2" id="Fact-3885DB8AF46EF2EC1B69F96A482FB86F" unitRef="usdPerShare">21.62</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="FI2018Q1" decimals="-3" id="Fact-EBEF148CB4912F6DBB0FF96A48306044" unitRef="usd">317169000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="FI2017Q4" decimals="-3" id="Fact-CB4D79F394B43AC362D8F96A483A0211" unitRef="shares">12726000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="FI2018Q1" decimals="-3" id="Fact-5A2DC37DC73E820C7AB2F96A483A1B58" unitRef="shares">14004000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="FI2017Q4" decimals="2" id="Fact-D35FF0D05D5E457BBF47F96A48392600" unitRef="usdPerShare">25.24</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="FI2018Q1" decimals="2" id="Fact-B9B4303F4FB218C43556F96A48305659" unitRef="usdPerShare">30.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber contextRef="FI2018Q1" decimals="-3" id="Fact-46CB95BFCC930157EA11F96A48399964" unitRef="shares">12377000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue contextRef="FI2018Q1" decimals="-3" id="Fact-B6D15B7E7D2EE67FDEFAF96A483B96CC" unitRef="usd">294379000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice contextRef="FI2018Q1" decimals="2" id="Fact-2B764317E4A1138E11F4F96A48371F73" unitRef="usdPerShare">28.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod contextRef="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-755174F83EFC01319297F96A4839656B" unitRef="shares">697000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
	<us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice contextRef="FD2018Q1YTD" decimals="2" id="Fact-A1FF418E34B7069C1920F96A48397AFF" unitRef="usdPerShare">15.96</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice contextRef="FD2018Q1YTD" decimals="2" id="Fact-D482EDFBE07DEF222A29F96A4838962F" unitRef="usdPerShare">56.44</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested contextRef="FI2018Q1_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-E06BD77D3E6CBEB7A498F96A4837EDD9" unitRef="usd">1040000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="FD2017Q1QTD" id="Fact-6200D00EA47BD11DBAA0F96A4839718B">P5Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="FD2018Q1YTD" id="Fact-DC864C21EFC56F829824F96A48376DC6">P5Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="FD2018Q1YTD" id="Fact-31174049AACA49BF6ED3043C02E4D4C4">P6Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="FD2018Q1YTD" id="Fact-E01C44ECE4C17993D177043C02F11678">P7Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="FD2018Q1YTD" id="Fact-D6B4B39B84B97281270EF96A48399280">P7Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
	<us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss contextRef="FD2018Q1YTD" decimals="-3" id="Fact-DE8ACC8B255B37DF850DF96A48218FA3" unitRef="usd">116000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
	<us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="FD2018Q1YTD" decimals="-3" id="Fact-38A4A9BEFCDD04DA9208F96A48319785" unitRef="shares">697000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2018Q1YTD" decimals="-3" id="Fact-9A51A5FEDD006B2BC658F96A4844896F" unitRef="usd">11123000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-C7ABE462F4C68A3EED27F96A4839998A" unitRef="usd">11122000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-3669C0156F420769025BF96A4837ACDF" unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockOptionPlanExpense contextRef="FD2017Q1QTD" decimals="-3" id="Fact-83022139AE36270A117EF96A48435307" unitRef="usd">7483000</us-gaap:StockOptionPlanExpense>
	<us-gaap:StockOptionPlanExpense contextRef="FD2018Q1YTD" decimals="-3" id="Fact-AD67D4F4F3E92DC079CBF96A4837A3C7" unitRef="usd">13194000</us-gaap:StockOptionPlanExpense>
	<us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="FI2018Q1" decimals="INF" id="Fact-F14DCED7A215BB10C4E908F6AC14440C" unitRef="usd">200000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
	<us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="I2015Q4SD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member" decimals="INF" id="Fact-611A0E7493AAFE8BF429F96A4820BFB1" unitRef="usd">100000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
	<us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="I2018Q1Feb28_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member" decimals="INF" id="Fact-2AC76018678F4F2AF5FDFE15C09325FD" unitRef="usd">150000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
	<us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="I2018Q2Apr25_us-gaap_ShareRepurchaseProgramAxis_cgnx_GeneralStockOptionPlanMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" decimals="INF" id="Fact-00DBA60EEE185E996E5E08FDC143D60B" unitRef="usd">10000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
	<us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="I2018Q2Apr25_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" decimals="INF" id="Fact-461940FBCCF428EC3EB108F6AC18C67C" unitRef="usd">300000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
	<us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1 contextRef="FI2018Q1_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member" decimals="-3" id="Fact-6E55751541F0B2370CB404451B25E221" unitRef="usd">125998000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
	<us-gaap:StockRepurchasedDuringPeriodShares contextRef="FD2018Q1YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member" decimals="-3" id="Fact-CC122B9C23CA524CC54FF96A48375DB8" unitRef="shares">803000</us-gaap:StockRepurchasedDuringPeriodShares>
	<us-gaap:StockRepurchasedDuringPeriodShares contextRef="FD2018Q1YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member" decimals="-3" id="Fact-8E2F43C1AC33BF9329E3FE15F1407225" unitRef="shares">453000</us-gaap:StockRepurchasedDuringPeriodShares>
	<us-gaap:StockRepurchasedDuringPeriodShares contextRef="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-D51D5F0094CF14C8A7BDF96A483A6691" unitRef="shares">1256000</us-gaap:StockRepurchasedDuringPeriodShares>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2018Q1YTD" decimals="-3" id="Fact-C9BD840FC51393C1AC6CF96A483723EF" unitRef="usd">69202000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2018Q1YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member" decimals="-3" id="Fact-D28A3BEBB62C64A3F4B6F96A483A1E3F" unitRef="usd">45200000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2018Q1YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017andFebruary2018Member" decimals="-3" id="Fact-73302116EFB11076838EFE161E78CAFD" unitRef="usd">69202000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2018Q1YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member" decimals="-3" id="Fact-1DCAA2A882CE90D78159FE1584C9F1A5" unitRef="usd">24002000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-23155CA76FB2035852DBF96A483A366B" unitRef="usd">2000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2018Q1YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-D168C4574BA4A24F4702F96A4838B8B6" unitRef="usd">69200000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockholdersEquity contextRef="FI2017Q4" decimals="-3" id="Fact-446D34C50A93921FA91BF96A48301749" unitRef="usd">1095673000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-91F36F4B2F95A9CDDAB9F96A48386EA8" unitRef="usd">-34599000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-937B0C48F84454BB26F0F96A483A2F80" unitRef="usd">461338000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-E5864F177EF09140E5A7F96A4844210B" unitRef="usd">347000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-A4BF362DCDD5B2DE45A7F96A482154F5" unitRef="usd">668587000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2018Q1" decimals="-3" id="Fact-4D180581B6052581C7E3F96A4828878A" unitRef="usd">1077099000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2018Q1_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-1548C05415B6DC92E78EF96A4843D08A" unitRef="usd">-31757000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2018Q1_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-8F3C9BF44434C5A17CAEF96A4820B3FE" unitRef="usd">485654000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2018Q1_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-33EFA441DF69AE629471F96A484445DD" unitRef="usd">346000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2018Q1_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-C575C557162C3A04A2BFF96A4821CCB1" unitRef="usd">622856000</us-gaap:StockholdersEquity>
	<us-gaap:UnbilledReceivablesCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-567D712056470704185AF96A482E193D" unitRef="usd">7454000</us-gaap:UnbilledReceivablesCurrent>
	<us-gaap:UnbilledReceivablesCurrent contextRef="FI2018Q1" decimals="-3" id="Fact-98C5AFD3BCE2748515BCF96A482B33E2" unitRef="usd">4232000</us-gaap:UnbilledReceivablesCurrent>
	<us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued contextRef="FI2018Q1" decimals="-3" id="Fact-0D76B98BC621695927A1F96A48395D14" unitRef="usd">847000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
	<us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="FD2017Q1QTD" decimals="-3" id="Fact-73B2CB94047E337924EDF96A4843CA71" unitRef="shares">5708000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
	<us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="FD2018Q1YTD" decimals="-3" id="Fact-E7AAA9F02F917BDBBC5AF96A4837D5FB" unitRef="shares">6361000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
	<us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="FD2017Q1QTD" decimals="-3" id="Fact-EFCF4D63ED208BF8EF96F96A4844583C" unitRef="shares">178354000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
	<us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="FD2018Q1YTD" decimals="-3" id="Fact-1F105474ABA3076DCB73F96A48426393" unitRef="shares">179641000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
	<us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="FD2017Q1QTD" decimals="-3" id="Fact-F20D2AA3E24C027226C2F96A4844C59D" unitRef="shares">172646000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
	<us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="FD2018Q1YTD" decimals="-3" id="Fact-E89F2FC84BF77D45C8DBF96A4828C3D1" unitRef="shares">173280000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
	<cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock contextRef="FD2018Q1YTD" id="Fact-0D39FD48AF00BA5232DAF96A48281B90">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash, cash equivalents, and investments consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:63%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;101,614&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;97,951&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,958&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,631&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash and cash equivalents&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;109,572&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;106,582&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;138,695&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;150,371&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;108,313&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,395&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;75,432&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;59,203&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;9,153&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,805&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,036&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21,579&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,608&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Short-term investments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;337,629&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;297,961&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;272,308&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;296,014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;56,246&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;71,727&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;16,744&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,147&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,931&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;14,890&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,604&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,459&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,348&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,204&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-term investments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;356,181&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;423,441&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;803,382&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;827,984&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock>
	<cgnx:OutstandingForwardContractsTableTextBlock contextRef="FD2018Q1YTD" id="Fact-B6D217D4A631AF4EE347F96A482862DC">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company had the following outstanding forward contracts (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="14" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:47%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Currency&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Notional&lt;br clear="none"/&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;USD&lt;br clear="none"/&gt;Equivalent&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Notional&lt;br clear="none"/&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;USD&lt;br clear="none"/&gt;Equivalent&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="7" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Japanese Yen&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;565,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,299&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;455,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,049&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Swiss Franc&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,600&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,072&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,365&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,401&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;British Pound&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,300&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,824&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,650&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,232&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Hungarian Forint&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;400,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,576&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;545,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,110&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Taiwanese Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;43,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,480&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37,725&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,278&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Korean Won&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;655,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;616&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,825,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,708&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</cgnx:OutstandingForwardContractsTableTextBlock>
	<us-gaap:CompensationRelatedCostsGeneralTextBlock contextRef="FD2018Q1YTD" id="Fact-874E54B481C51697F709F96A4836EA3B">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Stock-Based Compensation Expense&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock awards.  As of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, the Company had &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,160,452&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares available for grant.  Stock options are granted with an exercise price equal to the market value of the Company&amp;#8217;s common stock at the grant date and generally vest over &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;four&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; or five years based upon continuous service and expire &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ten&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years from the grant date.  Restricted stock awards are granted with an exercise price equal to the market value of the Company's common stock at the time of grant.  Conditions of the award may be based on continuing employment and/or achievement of pre-established performance goals and objectives.  Vesting for performance-based restricted stock awards and time-based restricted stock awards must not be less than &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;one&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; year and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;three&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years, respectively; however, awards with time-based vesting may become vested incrementally over such three-year period. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s stock option activity for the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;three&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-left:0px;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="13" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:39%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(in&amp;#160;thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Average&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Exercise&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Average&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Remaining&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Contractual&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Term&amp;#160;(in&amp;#160;years)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Aggregate&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Intrinsic&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(in&amp;#160;thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12,726&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25.24&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,043&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;56.44&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Exercised&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(697&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15.96&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(68&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25.84&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;14,004&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;30.25&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7.9&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;317,169&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Exercisable as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,879&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;19.88&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6.5&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;156,676&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#cceeff;"&gt;Options vested or expected to vest as of April 1, 2018 (1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,377&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;28.99&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7.8&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;294,379&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160; &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-left:48px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-left:48px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future.  Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="6" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:71%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months&amp;#160;Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Risk-free rate&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2.9&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2.4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected dividend yield&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;0.32&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.39&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected volatility&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;39&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;41&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected term (in years)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5.3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5.3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Risk-free rate&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Expected dividend yield&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company&amp;#8217;s Board of Directors and dividing that result by the closing stock price on the grant date.&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Expected volatility&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The expected volatility was based upon a combination of historical volatility of&amp;#160;the Company&amp;#8217;s common stock over the contractual term of the option and implied volatility for traded options of the Company&amp;#8217;s stock.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Expected term&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company stratifies its employee population into &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;two&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; groups: one consisting of senior management and another consisting of all other employees.  The Company currently applies an estimated annual forfeiture rate of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to all unvested options for senior management and a rate of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; for all other employees.  The Company revised its estimated forfeiture rates in the three-month period ended April 1, 2018, resulting in an increase to compensation expense of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,283,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;. The Company also revised its estimated forfeiture rates in the three-month period ended April 2, 2017, resulting in an decrease to compensation expense of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$673,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The weighted-average grant-date fair values of stock options granted during the three-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$21.62&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$14.95&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The total intrinsic values of stock options exercised for the three-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$28,088,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$53,043,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.  The total fair values of stock options vested for the three-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$25,674,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;  and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$17,987,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, total unrecognized compensation expense related to non-vested stock options was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$63,749,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, which is expected to be recognized over a weighted-average period of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2.02&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company's restricted stock activity for the three-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;: &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="11" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:48%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares                   (in thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-Average     Grant Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Aggregate Intrinsic Value                  (in thousands)(1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;20&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;17.03&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Vested&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;20&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;17.03&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,040&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:174%;text-align:justify;padding-left:48px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1) Fair market value as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The fair values of restricted stock awards granted were determined based upon the market value of the Company's common stock at the time of grant.  The initial cost is then amortized over the period of vesting until the restrictions lapse.  These restricted shares will be fully vested in 2018.  Participants are entitled to dividends on restricted stock awards, but only receive those amounts if the shares vest.  The sale or transfer of these shares is restricted during the vesting period.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$13,194,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,347,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, and for the three-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$7,483,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,439,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.  &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;No&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; compensation expense was capitalized as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; or &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:69%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cost of revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;797&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;430&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,815&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,610&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,582&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,443&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;13,194&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,483&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:CompensationRelatedCostsGeneralTextBlock>
	<us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="FD2018Q1YTD" id="Fact-725E6E1E301166247F7604201A19EF79">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the deferred revenue and customer deposits activity for the three-month period ended April 1, 2018 (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:80%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:18%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amount&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,420&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Increases to deferred revenue and customer deposits&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;11,751&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Recognition of revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(5,875&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign exchange rate changes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;208&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15,504&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
	<us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock contextRef="FD2018Q1YTD" id="Fact-4F5E0618EE480419A0F7F96A4828A471">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Derivative Instruments&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates.  Currently, the Company enters into &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;two&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; types of hedges to manage this risk.  The first are economic hedges which utilize foreign currency forward contracts with maturities of up to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;45&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; days to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables.  The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged.  These economic hedges are not designated as hedging instruments for hedge accounting treatment.  The second are cash flow hedges which utilize foreign currency forward contracts with maturities of up to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18 months&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to hedge specific forecasted transactions of the Company's foreign subsidiaries with the goal of protecting the Company's budgeted revenues and expenses against foreign currency exchange rate changes compared to its budgeted rates.  These cash flow hedges are designated as hedging instruments for hedge accounting treatment. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company had the following outstanding forward contracts (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="14" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:47%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Currency&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Notional&lt;br clear="none"/&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;USD&lt;br clear="none"/&gt;Equivalent&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Notional&lt;br clear="none"/&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;USD&lt;br clear="none"/&gt;Equivalent&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="7" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Japanese Yen&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;565,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,299&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;455,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,049&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Swiss Franc&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,600&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,072&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,365&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,401&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;British Pound&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,300&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,824&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,650&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,232&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Hungarian Forint&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;400,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,576&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;545,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,110&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Taiwanese Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;43,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,480&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37,725&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,278&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Korean Won&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;655,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;616&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,825,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,708&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="20" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:17%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Balance&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Balance&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Sheet&lt;br clear="none"/&gt;Location&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Sheet&lt;br clear="none"/&gt;Location&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash flow hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid&amp;#160;expenses&amp;#160;and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid&amp;#160;expenses&amp;#160;and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):&lt;/font&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="19" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:21%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:22%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net amount of assets presented&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net amount of liabilities presented&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):&lt;/font&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="10" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:49%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:27%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Location in Financial Statements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Three-months Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recorded in shareholders' equity (effective portion)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accumulated other comprehensive income (loss), net of tax&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(55&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(44&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="10" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(310&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(81&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
	<us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="FD2018Q1YTD" id="Fact-FBD5BB268419176E640C041E8F65BADA">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="9" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:72%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Americas&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;59,217&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;42,540&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Europe&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;56,203&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;43,107&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Greater China&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;27,159&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;22,706&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other Asia&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;26,988&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;30,686&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;169,567&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;139,039&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes disaggregated revenue information by revenue type (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="9" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:72%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Standard products and services&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;158,399&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;133,017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Application-specific customer solutions&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11,168&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,022&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;169,567&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;139,039&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
	<us-gaap:EarningsPerShareTextBlock contextRef="FD2018Q1YTD" id="Fact-A1B770006CFE8DCCF1D9F96A4843BE93">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-Average Shares&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Weighted-average shares were calculated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="6" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:77%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Basic weighted-average common shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;173,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;172,646&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Effect of dilutive stock options&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,361&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,708&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Weighted-average common and common-equivalent shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;179,641&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;178,354&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Stock options to purchase &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,339,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,648,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares of common stock, on a weighted-average basis, were outstanding during the three-month periods ended April 1, 2018 and April 2, 2017, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
	<us-gaap:FairValueDisclosuresTextBlock contextRef="FD2018Q1YTD" id="Fact-2B167DDC4D90CEBF7871F96A483AAB3F">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value Measurements&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="11" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:50%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Quoted&amp;#160;Prices&amp;#160;in&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Active Markets&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;for Identical&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Assets (Level 1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Significant&amp;#160;    Other&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Observable&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Inputs (Level 2)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;&lt;br clear="none"/&gt;Unobservable&lt;br clear="none"/&gt;Inputs                                                                                                                                                                             (Level 3)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Assets:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,958&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;380,621&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;142,299&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;131,678&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;22,780&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,501&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,931&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash flow hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Liabilities:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash flow hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,115&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s debt securities and forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2.  Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service.  For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data.  They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations.  The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency.  The market participants are generally large commercial banks.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company did not record an other-than-temporary impairment of these financial assets during the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;three&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid, using significant inputs that are not observable in the market, and are therefore classified as Level 3.  Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones.  The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the activity for the Company's liabilities measured at fair value using Level 3 inputs for the three-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:85%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,557&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Manatee contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(675&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Chiaro contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;52&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to GVi contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;181&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,115&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-financial assets such as property, plant and equipment, goodwill, and intangible assets are required to be measured at fair value only when an impairment loss is recognized.  The Company did not record an impairment charge related to these assets during the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;three&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
	<us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock contextRef="FD2018Q1YTD" id="Fact-B78A4C8737B2B040E6B9F96A483AD217">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the activity for the Company's liabilities measured at fair value using Level 3 inputs for the three-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:85%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,557&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Manatee contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(675&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Chiaro contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;52&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to GVi contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;181&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,115&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
	<us-gaap:IncomeTaxDisclosureTextBlock contextRef="FD2018Q1YTD" id="Fact-07D90423CAB89B057DFBF96A48386185">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Taxes&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;A reconciliation of the United States federal statutory corporate tax rate to the Company&amp;#8217;s income tax expense, or effective tax rate, was as follows:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="6" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:77%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months&amp;#160;Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax provision at federal statutory corporate tax rate&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;21&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;State income taxes, net of federal benefit&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign tax rate differential&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(7&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Tax credit&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Discrete tax benefit related to stock option exercises&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(33&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other discrete tax events&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax provision&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On December 22, 2017, the United States Congress passed and the President signed into law the Tax Act.  The Tax Act included a decrease in the U.S. federal statutory corporate tax rate from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, a one-time transition tax on unrepatriated foreign earnings, and limits on certain deductions.  The Company made what it considers to be a reasonable estimate of the impact of the Tax Act in its financial statements for the year ended December 31, 2017.  The Company has not recorded any changes to this estimate for the three-month period ended April 1, 2018.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Securities and Exchange Commission (SEC) released Staff Accounting Bulletin (SAB) No. 118 to provide guidance to companies on how to implement the accounting and disclosure changes as a result of the Tax Act.  The SEC staff guidance has recognized that, due to the complexity and timing of the release of the Tax Act, the accounting for this change in the law may be incomplete upon issuance of a company's financial statements.  This significant estimate is highly judgmental and changes to this estimate could result in material charges or credits in future reporting periods.  U.S. Treasury regulations and administrative guidance have not been finalized as of the date of these financial statements.  The issuance of final regulations may require the Company to revise its estimates of earnings and profits, as well as certain deferred taxes as required.  The Tax Act subjects the Company to current tax on Global Intangible Low-Taxed Income (GILTI) earned by certain foreign subsidiaries.&amp;#160; The Company can make an accounting policy election to either recognize deferred taxes for temporary differences expected to reverse as GILTI in future years or provide for the tax expense related to GILTI resulting from those items in the year the tax is incurred.  As of the date of this report, the Company is still evaluating the guidance and has not made a policy election related to the treatment of the GILTI tax.  The Company will continue to gather and analyze information on historical unrepatriated foreign earnings and to monitor state laws relating to this income to finalize both the federal and state tax impact.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The majority of income earned outside of the United States is indefinitely reinvested to provide funds for international expansion.  The Company is tax resident in numerous jurisdictions around the world and has identified its major jurisdictions as the United States, Ireland, and China.  The statutory tax rate is &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12.5%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in Ireland and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in China, compared to the U.S. federal statutory corporate tax rate of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  International rights to certain of the Company's intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate that is lower than the above mentioned statutory rates, although the reduced taxes overseas have been partially offset by changes in U.S. tax law.  These differences resulted in a decrease in the effective tax rate by &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; percentage points for the three-month periods ended April 1, 2018 and April 2, 2017, respectively. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises resulted in a decrease of the effective tax rate by &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;33&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; percentage points for the three-month periods ended April 1, 2018 and April 2, 2017, respectively. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On January 1, 2018, the Company adopted Accounting Standard Update (ASU) 2016-16, "Income Taxes - Intra-Entity Transfers of Assets Other than Inventory."  This Update requires the recognition of deferred income taxes for an intra-entity transfer of an asset other than inventory.  As a result of this ASU, the Company recorded &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$5,961,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; through a cumulative-effect adjustment directly to retained earnings at the beginning of fiscal year 2018. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;During the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;three&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, the Company recorded a &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$484,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; increase in reserves for income taxes, net of deferred tax benefit.  Estimated interest and penalties included in these amounts totaled &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$70,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; for the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;three&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s reserve for income taxes, including gross interest and penalties, was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$7,986,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, which included &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$6,958,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; classified as a non-current liability and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,028,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; recorded as a reduction to non-current deferred tax assets.  The amount of gross interest and penalties included in these balances was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$847,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  If the Company&amp;#8217;s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.  As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,100,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,200,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; over the next twelve months.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company has defined its major tax jurisdictions as the United States, Ireland and China, and within the United States, Massachusetts.  Within the United States, the tax years &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014 through 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; remain open to examination by the Internal Revenue Service and various state tax authorities.  The tax years &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2013 through 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; remain open to examination by various taxing authorities in other jurisdictions in which the Company operates.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
	<us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="FD2018Q1YTD" id="Fact-489423D560B4BDC0347D03FCCA7DB246">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Intangible Assets&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amortized intangible assets consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;13,687&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,791&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,896&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,607&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,330&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,277&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-compete agreements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;370&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;123&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;247&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;60,724&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;48,304&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,420&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,687&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,181&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,506&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,607&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,202&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,405&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-compete agreements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;370&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;92&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;278&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;60,724&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,535&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,189&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As of April 1, 2018, estimated future amortization expense related to intangible assets is as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Amount&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Remainder of fiscal 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,307&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,701&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,185&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2022&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,691&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2023&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;989&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;530&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,420&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
	<us-gaap:InventoryDisclosureTextBlock contextRef="FD2018Q1YTD" id="Fact-21A1E930025E359877A8F96A48377B8F">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Inventories&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventories consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:63%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Raw materials&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;42,759&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;33,927&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Work-in-process&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,192&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,114&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Finished goods&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;51,448&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;31,882&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;96,399&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;67,923&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
	<us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock contextRef="FD2018Q1YTD" id="Fact-0C7BA7DCD38AC5DCC396F96A482159C0">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table presents the effective maturity dates of the Company&amp;#8217;s available-for-sale investments as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="28" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:24%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;&amp;lt;1 year&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;1-2 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;2-3 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;3-4 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;4-5 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;5-7 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Total&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;108,313&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;116,223&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;97,412&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;36,342&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18,961&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,370&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;380,621&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;138,695&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,604&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;142,299&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;75,432&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35,411&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,923&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,504&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,336&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,072&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;131,678&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,036&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,995&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,749&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;22,780&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,153&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,348&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,501&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,931&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,931&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;337,629&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;166,233&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;111,432&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;42,846&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;27,228&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,442&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;693,810&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
	<us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock contextRef="FD2018Q1YTD" id="Fact-B1F6A6EDFA4ADF6B9C69F96A48210126">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Cash, Cash Equivalents, and Investments&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash, cash equivalents, and investments consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:63%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;101,614&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;97,951&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,958&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,631&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash and cash equivalents&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;109,572&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;106,582&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;138,695&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;150,371&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;108,313&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,395&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;75,432&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;59,203&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;9,153&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,805&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,036&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21,579&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,608&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Short-term investments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;337,629&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;297,961&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;272,308&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;296,014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;56,246&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;71,727&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;16,744&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,147&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,931&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;14,890&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,604&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,459&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,348&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,204&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-term investments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;356,181&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;423,441&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;803,382&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;827,984&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills consist of debt securities issued by the U.S. government; corporate bonds consist of debt securities issued by both domestic and foreign companies;  asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; municipal bonds consist of debt securities issued by state and local government entities; sovereign bonds consist of direct debt issued by foreign governments; and agency bonds consist of domestic or foreign obligations of government agencies and government sponsored enterprises that have government backing.  All securities are denominated in U.S. Dollars.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s available-for-sale investments as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="16" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:44%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Amortized&lt;br clear="none"/&gt;Cost&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Gross&lt;br clear="none"/&gt;Unrealized&lt;br clear="none"/&gt;Gains&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Gross&lt;br clear="none"/&gt;Unrealized&lt;br clear="none"/&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Short-term:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;139,159&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(464&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;138,695&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;108,533&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;50&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(270&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;108,313&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;75,710&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(283&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;75,432&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,165&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(12&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,153&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,040&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(5&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,036&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-term:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;272,345&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;797&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(834&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;272,308&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;56,573&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;14&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(341&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;56,246&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,779&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(73&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,744&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,930&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,931&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,601&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,604&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,360&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(12&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,348&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;695,195&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;909&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(2,294&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;693,810&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="24" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:29%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized Loss Position For:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Less than 12 Months&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;12 Months or Greater&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Total&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;172,162&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(812&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,693&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(292&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;195,855&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,104&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;96,209&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(277&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;42,487&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(187&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;138,696&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(464&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;112,632&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(614&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,640&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(10&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;115,272&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(624&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,599&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(9&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,730&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(69&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12,329&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(78&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,196&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(24&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,196&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(24&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;388,798&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1,736&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;77,550&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(558&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;466,348&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(2,294&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, the Company did not recognize any other-than-temporary impairment of these investments.  In its evaluation, management considered the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, the Company's intent and ability to hold the security to expected recovery of value, and other meaningful information.  The Company does not intend to sell, and is unlikely to be required to sell, any of these available-for-sale investments before their effective maturity or market price recovery.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$55,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$33,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, during the three-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$88,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$23,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, during the three-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  These gains and losses are included in "Investment income" on the Consolidated Statement of Operations.  Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders&amp;#8217; equity as other comprehensive income (loss).&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table presents the effective maturity dates of the Company&amp;#8217;s available-for-sale investments as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="28" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:24%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;&amp;lt;1 year&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;1-2 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;2-3 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;3-4 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;4-5 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;5-7 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Total&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;108,313&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;116,223&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;97,412&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;36,342&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18,961&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,370&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;380,621&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;138,695&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,604&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;142,299&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;75,432&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35,411&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,923&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,504&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,336&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,072&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;131,678&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,036&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,995&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,749&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;22,780&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,153&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,348&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,501&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,931&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,931&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;337,629&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;166,233&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;111,432&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;42,846&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;27,228&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,442&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;693,810&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock>
	<us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="FD2018Q1YTD" id="Fact-AA98F91C0F21EDDEF88CF96A482FC81E">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;New Pronouncements&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-02, "Leases"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current U.S. GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current U.S. GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current U.S. GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  This ASU should be applied using a modified retrospective approach. Management is in the process of implementing this Update.  As of the date of this report,  management has determined the scope of leases subject to the new accounting requirements and has selected a software package to assist with compliance.  Management is in the process of drafting the internal accounting lease policy and designing the related processes and internal controls.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&amp;#160; The amendments in this Update eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&amp;#8217;s current estimate of all expected credit losses.  In addition, this Update broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&amp;#160; The amendments in this Update require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&amp;#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.&amp;#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities "&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium). The amendments in this Update shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date.  The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity.   Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium.  The amendments in this Update more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities.  For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle.  Early adoption is permitted, including adoption in an interim period.  Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2017-12, "Derivatives and Hedging - Targeted Improvements to Accounting for Hedging Activities"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2017-12 applies to all reporting entities that elect to apply hedge accounting.  The hedge accounting requirements under current GAAP sometimes do not permit an entity to properly recognize the economic results of the hedging strategy in the financial statements, and they are difficult to understand and interpret.  The amendments in this Update make certain targeted improvements to simplify the application of the hedge accounting guidance.  Also, they better align the risk management activities and financial reporting for hedging relationships through changes to both 1) the designation and measurement guidance for qualifying hedging relationships and 2) the presentation of hedge results.  For public companies, the amendments in ASU 2017-12 are effective for annual reporting periods beginning after December 15, 2018, and interim reporting periods within those annual periods.  Early adoption is permitted including adoption in any interim period after issuance of the Update.  All transition requirements and elections should be applied to hedging relationships existing on the date of adoption.  The entity should apply a cumulative-effect adjustment related to eliminating the separate measurement of ineffectiveness to accumulated other comprehensive income with a corresponding adjustment to the opening balance of retained earnings as of the beginning of the fiscal year that an entity adopts the amendments in this Update.  The amended presentation and disclosure guidance is required only prospectively.  Management does not expect ASU 2017-12 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2018-1, "Land Easement Practical Expedient for Transition to Topic 842"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2018-01 applies to entities with land easements that exist or expired before an entity&amp;#8217;s adoption of Topic 842, provided that the entity does not account for those land easements as leases under Topic 840.  The amendments in this Update permit an entity to elect an optional transition practical expedient to not evaluate under Topic 842 land easements that exist or expired before the entity&amp;#8217;s adoption of Topic 842 and that were not previously accounted for as leases under Topic 840.  An entity that elects this practical expedient should apply the practical expedient consistently to all of its existing or expired land easements that were not previously accounted for as leases under Topic 840.  Once an entity adopts Topic 842, it should apply that Topic prospectively to all new (or modified) land easements to determine whether the arrangement should be accounted for as a lease.  An entity that does not elect this practical expedient should evaluate all existing or expired land easements in connection with the adoption of the new lease requirements in Topic 842 to assess whether they meet the definition of a lease.  The amendments in this Update affect the amendments in Update 2016-02, which are not yet effective but may be early adopted.  The effective date and transition requirements for the amendments are the same as the effective date and transition requirements in Update 2016-02,  which is for annual periods beginning after December 15, 2018, and interim periods within those annual periods. Management is in the process of evaluating the impact of this Update. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2018-2, "Income Statement - Reporting Comprehensive Income"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2018-02 applies to entities required to apply the provisions of Topic 220, Income Statement - Reporting Comprehensive Income, and has items of other comprehensive income for which the related tax effects are presented in other comprehensive income as required by GAAP.  The amendments in this Update allow a reclassification from accumulated other comprehensive income to retained earnings for stranded tax effects resulting from the Tax Cuts and Jobs Act of 2017 (the "Tax Act").  Consequently, the amendments eliminate the stranded tax effects resulting from the Tax Act and will improve the usefulness of information reported to financial statement users.  However, because the amendments only relate to the reclassification of the income tax effects of the Tax Act, the underlying guidance that requires the effect of a change in tax laws or rates to be included in income from continuing operations is not affected.  The amendments in this Update also require certain disclosures about stranded tax effects.  The amendments in this Update are effective for all entities for fiscal years beginning after December 15, 2018, and interim periods within those fiscal years.  Early adoption of the amendments in this Update is permitted, including adoption in any interim period.  The amendments in this Update should be applied either in the period of adoption or retrospectively to each period (or periods) in which the effect of the change in the U.S. federal corporate income tax rate in the Tax Act is recognized.  Management does not expect ASU 2018-2 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
	<us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="FD2018Q1YTD" id="Fact-334BC3E76492AA0A605C03DCC8E148B9">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-02, "Leases"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current U.S. GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current U.S. GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current U.S. GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  This ASU should be applied using a modified retrospective approach. Management is in the process of implementing this Update.  As of the date of this report,  management has determined the scope of leases subject to the new accounting requirements and has selected a software package to assist with compliance.  Management is in the process of drafting the internal accounting lease policy and designing the related processes and internal controls.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&amp;#160; The amendments in this Update eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&amp;#8217;s current estimate of all expected credit losses.  In addition, this Update broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&amp;#160; The amendments in this Update require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&amp;#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.&amp;#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities "&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium). The amendments in this Update shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date.  The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity.   Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium.  The amendments in this Update more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities.  For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle.  Early adoption is permitted, including adoption in an interim period.  Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2017-12, "Derivatives and Hedging - Targeted Improvements to Accounting for Hedging Activities"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2017-12 applies to all reporting entities that elect to apply hedge accounting.  The hedge accounting requirements under current GAAP sometimes do not permit an entity to properly recognize the economic results of the hedging strategy in the financial statements, and they are difficult to understand and interpret.  The amendments in this Update make certain targeted improvements to simplify the application of the hedge accounting guidance.  Also, they better align the risk management activities and financial reporting for hedging relationships through changes to both 1) the designation and measurement guidance for qualifying hedging relationships and 2) the presentation of hedge results.  For public companies, the amendments in ASU 2017-12 are effective for annual reporting periods beginning after December 15, 2018, and interim reporting periods within those annual periods.  Early adoption is permitted including adoption in any interim period after issuance of the Update.  All transition requirements and elections should be applied to hedging relationships existing on the date of adoption.  The entity should apply a cumulative-effect adjustment related to eliminating the separate measurement of ineffectiveness to accumulated other comprehensive income with a corresponding adjustment to the opening balance of retained earnings as of the beginning of the fiscal year that an entity adopts the amendments in this Update.  The amended presentation and disclosure guidance is required only prospectively.  Management does not expect ASU 2017-12 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2018-1, "Land Easement Practical Expedient for Transition to Topic 842"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2018-01 applies to entities with land easements that exist or expired before an entity&amp;#8217;s adoption of Topic 842, provided that the entity does not account for those land easements as leases under Topic 840.  The amendments in this Update permit an entity to elect an optional transition practical expedient to not evaluate under Topic 842 land easements that exist or expired before the entity&amp;#8217;s adoption of Topic 842 and that were not previously accounted for as leases under Topic 840.  An entity that elects this practical expedient should apply the practical expedient consistently to all of its existing or expired land easements that were not previously accounted for as leases under Topic 840.  Once an entity adopts Topic 842, it should apply that Topic prospectively to all new (or modified) land easements to determine whether the arrangement should be accounted for as a lease.  An entity that does not elect this practical expedient should evaluate all existing or expired land easements in connection with the adoption of the new lease requirements in Topic 842 to assess whether they meet the definition of a lease.  The amendments in this Update affect the amendments in Update 2016-02, which are not yet effective but may be early adopted.  The effective date and transition requirements for the amendments are the same as the effective date and transition requirements in Update 2016-02,  which is for annual periods beginning after December 15, 2018, and interim periods within those annual periods. Management is in the process of evaluating the impact of this Update. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2018-2, "Income Statement - Reporting Comprehensive Income"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2018-02 applies to entities required to apply the provisions of Topic 220, Income Statement - Reporting Comprehensive Income, and has items of other comprehensive income for which the related tax effects are presented in other comprehensive income as required by GAAP.  The amendments in this Update allow a reclassification from accumulated other comprehensive income to retained earnings for stranded tax effects resulting from the Tax Cuts and Jobs Act of 2017 (the "Tax Act").  Consequently, the amendments eliminate the stranded tax effects resulting from the Tax Act and will improve the usefulness of information reported to financial statement users.  However, because the amendments only relate to the reclassification of the income tax effects of the Tax Act, the underlying guidance that requires the effect of a change in tax laws or rates to be included in income from continuing operations is not affected.  The amendments in this Update also require certain disclosures about stranded tax effects.  The amendments in this Update are effective for all entities for fiscal years beginning after December 15, 2018, and interim periods within those fiscal years.  Early adoption of the amendments in this Update is permitted, including adoption in any interim period.  The amendments in this Update should be applied either in the period of adoption or retrospectively to each period (or periods) in which the effect of the change in the U.S. federal corporate income tax rate in the Tax Act is recognized.  Management does not expect ASU 2018-2 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
	<us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock contextRef="FD2018Q1YTD" id="Fact-4669B65EFE1275B161EBF96A483786DC">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company's restricted stock activity for the three-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;: &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="11" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:48%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares                   (in thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-Average     Grant Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Aggregate Intrinsic Value                  (in thousands)(1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;20&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;17.03&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Vested&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;20&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;17.03&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,040&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:174%;text-align:justify;padding-left:48px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1) Fair market value as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock>
	<us-gaap:OffsettingAssetsTableTextBlock contextRef="FD2018Q1YTD" id="Fact-4444074A806F9B0ABE8FF96A482FDB6A">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):&lt;/font&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="19" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:21%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:22%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net amount of assets presented&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net amount of liabilities presented&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:OffsettingAssetsTableTextBlock>
	<us-gaap:ProductWarrantyDisclosureTextBlock contextRef="FD2018Q1YTD" id="Fact-F5F0E39B2FF52A79ABDFF96A482FCED4">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Warranty Obligations&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims.  Obligations may also be recorded subsequent to the time of sale whenever specific events or circumstances impacting product quality become known that would not have been taken into account using historical data.  While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company&amp;#8217;s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure.  An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in &amp;#8220;Accrued expenses&amp;#8221; on the Consolidated Balance Sheets.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The changes in the warranty obligation were as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,701&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Provisions for warranties issued during the period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;697&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fulfillment of warranty obligations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(802&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign exchange rate changes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;116&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,712&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ProductWarrantyDisclosureTextBlock>
	<us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="FD2018Q1YTD" id="Fact-392F3F80AD7030134445041ADB8DE6DA">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Revenue Recognition&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On January 1, 2018, the Company adopted Accounting Standards Codification (ASC) 606, "Revenue from Contracts with Customers," using the full retrospective method to present all periods reported on a consistent basis.  Accordingly, prior-period results have been restated to apply the provisions of this ASC.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As a result of this adoption, revenue for software-only products sold as part of multiple-deliverable arrangements are no longer deferred when vendor-specific objective evidence of fair value does not exist for the undelivered elements of the arrangement. This change results in earlier recognition of revenue.  In addition, certain of the Company&amp;#8217;s product accessory sales, which were reported on a net basis, are now reported on a gross basis as a result of applying the expanded guidance in the new standard related to principal versus agent considerations.  This change results in the Company reporting higher revenue and higher cost of revenue when these sales are reported on a gross basis, although the gross margin dollars do not change.  Furthermore, for arrangements that include customer-specified acceptance criteria, revenue is recognized when the Company can objectively determine that control has been transferred to the customer in accordance with the agreed-upon specifications in the contract, which may occur before formal customer acceptance.  This change primarily impacts revenue recognition for arrangements in the logistics industry where certain customer solutions include installed ID products and results in earlier recognition of revenue.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The adoption of the standard impacted our previously-reported results as follows (in thousands): &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:58%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Statement of Operations&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As previously reported&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Adjustment&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As restated&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;134,942&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,097&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;139,039&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cost of revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;28,225&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,307&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;32,532&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross margin&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;106,717&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(210&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;106,507&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Operating income&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37,426&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(210&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37,216&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income before income tax expense&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;39,445&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(210&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;39,235&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax expense (benefit)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(6,210&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(26&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(6,236&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net income&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;45,655&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(184&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;45,471&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net income per weighted-average common and common-equivalend share:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Basic&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.26&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.26&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Diluted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.26&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(0.01&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.25&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:58%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Balance Sheet&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As previously reported&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Adjustment&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As restated&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid expenses and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;30,800&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(117&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;30,683&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued income taxes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;11,391&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;112&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;11,503&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Deferred revenue and customer deposits&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,969&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(549&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,420&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Retained earnings&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;668,267&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;320&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;668,587&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="9" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:72%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Americas&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;59,217&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;42,540&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Europe&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;56,203&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;43,107&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Greater China&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;27,159&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;22,706&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other Asia&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;26,988&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;30,686&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;169,567&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;139,039&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes disaggregated revenue information by revenue type (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="9" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:72%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Standard products and services&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;158,399&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;133,017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Application-specific customer solutions&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11,168&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,022&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;169,567&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;139,039&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Costs to Fulfill a Contract&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$4,615,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$3,230,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; as of April 1, 2018 and December 31, 2017, respectively. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounts Receivable, Contract Assets, and Contract Liabilities&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value.  The Company maintains reserves against its accounts receivable for potential credit losses.  Credit losses recognized on accounts receivable were immaterial for the three-month periods ended April 1, 2018 and April 2, 2017, respectively.  Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts.  Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the deferred revenue and customer deposits activity for the three-month period ended April 1, 2018 (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:80%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:18%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amount&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,420&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Increases to deferred revenue and customer deposits&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;11,751&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Recognition of revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(5,875&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign exchange rate changes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;208&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15,504&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
	<us-gaap:RevenueRecognitionPolicyTextBlock contextRef="FD2018Q1YTD" id="Fact-A5179AD9F39F859BAA1503DB1414E975">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes revenue in accordance with Accounting Standards Codification (ASC) 606, &amp;#8220;Revenue from Contracts with Customers.&amp;#8221; The core principle of ASC 606 is to recognize revenue in a manner that depicts the transfer of promised goods or services to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services.  The framework in support of this core principle includes: (1) identifying the contract with the customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations; and (5) recognizing revenue when (or as) the performance obligations are satisfied.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Identifying the Contract with the Customer&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company identifies contracts with customers as agreements that create enforceable rights and obligations, which typically take the form of customer contracts or purchase orders.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Identifying the Performance Obligations in the Contract&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company identifies performance obligations as promises in contracts to transfer distinct goods or services. Standard products and services that the Company regularly sells separately are accounted for as distinct performance obligations.  Application-specific customer solutions that are comprised of a combination of products and services are accounted for as one performance obligation to deliver a total solution to the customer.  These solutions are provided to customers in a variety of industries, including the consumer electronics, logistics, and automotive industries.   &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Shipping and handling activities for which the Company is responsible under the terms and conditions of the sale are not accounted for as performance obligations but as fulfillment costs.  These activities are required to fulfill the Company&amp;#8217;s promise to transfer the good and are expensed when revenue is recognized.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company does not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract.  If revenue is recognized before immaterial promises have been completed, then the costs related to such immaterial promises are accrued at the time of sale.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Determining the Transaction Price&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company determines the transaction price as the amount of consideration it expects to receive in exchange for transferring promised goods or services to the customer.  Amounts collected from customers for sales taxes are excluded from the transaction price. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;If a contract includes a variable amount, such as a rebate, then the Company estimates the transaction price using either the expected value or the most likely amount of consideration to be received, depending upon the specific facts and circumstances.  The Company includes estimated variable consideration in the transaction price only to the extent it is probable that a significant reversal of revenue will not occur when the uncertainty is resolved.  The Company updates its estimate of variable consideration at the end of each reporting period to reflect changes in facts and circumstances.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Allocating the Transaction Price to the Performance Obligations&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company allocates the transaction price to each performance obligation at contract inception based on a relative stand-alone selling price basis, or the price at which the Company would sell the good or service separately to similar customers in similar circumstances.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Recognizing Revenue When (or As) the Performance Obligations are Satisfied&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes revenue when it transfers the promised goods or services to the customer.  Revenue for standard products is recognized at the point in time when the customer obtains control of the goods, which is typically upon delivery when the customer has legal title, physical possession, the risks and rewards of ownership, and an enforceable obligation to pay for the products.  Revenue for services, which are not material, are typically recognized over the time the services are provided.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue for application-specific customer solutions is recognized at the point in time when the solution is validated, which is the point in time when the Company can objectively determine that the agreed-upon specifications in the contract have been met and the customer will accept the performance obligations in the arrangement.  Although the customer may have taken legal title and physical possession of the goods when they arrived at the customer&amp;#8217;s designed site, the significant risks and rewards of ownership transfer to the customer only upon validation. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In certain instances, an arrangement may include customer-specified acceptance provisions or performance guarantees that allow the customer to accept or reject delivered products that do not meet the customer&amp;#8217;s specifications.  If the Company can objectively determine that control of a good or service has been transferred to the customer in accordance with the agreed-upon specifications in the contract, then customer acceptance is a formality.  If acceptance provisions are presumed to be substantive, then revenue is deferred until customer acceptance.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;For the Company&amp;#8217;s standard products and services, revenue recognition and billing typically occur at the same time.  For application-specific customer solutions, however, the agreement with the customer may provide for billing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Credit assessments are performed to determine payment terms, which vary by region, industry, and customer.  Prepayment terms result in contract liabilities for customer deposits.  When credit is granted to customers, payment is typically due 30 to 90 days from billing.  The Company's contracts have an original expected duration of less than one year, and therefore as a practical expedient, the Company has elected to ignore the impact of the time value of money on a contract and to expense sales commissions.  The Company recognizes an asset for costs to fulfill a contract if the costs relate directly to the contract and to future performance, and the costs are expected to be recovered.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Management exercises judgment when determining the amount of revenue to be recognized each period.  Such judgments include, but are not limited to, assessing the customer&amp;#8217;s ability and intention to pay substantially all of the contract consideration when due, determining when two or more contracts should be combined and accounted for as a single contract, determining whether a contract modification has occurred, assessing whether promises are immaterial in the context of the contract, determining whether material promises in a contract represent distinct performance obligations, estimating the transaction price for a contract that contains variable consideration, determining the stand-alone selling price of each performance obligation, determining whether control is transferred over time or at a point in time for performance obligations, and assessing whether formal customer acceptance provisions are substantive. &lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
	<us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock contextRef="FD2018Q1YTD" id="Fact-73F4537AAF5651EEF670F96A4821AF08">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s available-for-sale investments as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="16" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:44%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Amortized&lt;br clear="none"/&gt;Cost&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Gross&lt;br clear="none"/&gt;Unrealized&lt;br clear="none"/&gt;Gains&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Gross&lt;br clear="none"/&gt;Unrealized&lt;br clear="none"/&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Short-term:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;139,159&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(464&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;138,695&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;108,533&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;50&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(270&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;108,313&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;75,710&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(283&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;75,432&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,165&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(12&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,153&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,040&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(5&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,036&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-term:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;272,345&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;797&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(834&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;272,308&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;56,573&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;14&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(341&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;56,246&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,779&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(73&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,744&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,930&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,931&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,601&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,604&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,360&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(12&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,348&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;695,195&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;909&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(2,294&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;693,810&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock>
	<us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock contextRef="FD2018Q1YTD" id="Fact-7BE796F653699E55E77AF96A482A5696">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):&lt;/font&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="10" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:49%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:27%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Location in Financial Statements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Three-months Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recorded in shareholders' equity (effective portion)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accumulated other comprehensive income (loss), net of tax&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(55&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(44&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="10" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(310&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(81&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
	<us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock contextRef="FD2018Q1YTD" id="Fact-2CC51EBC0977F8CBDAF8F96A48285076">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="20" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:17%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Balance&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Balance&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Sheet&lt;br clear="none"/&gt;Location&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Sheet&lt;br clear="none"/&gt;Location&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash flow hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid&amp;#160;expenses&amp;#160;and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid&amp;#160;expenses&amp;#160;and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
	<us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="FD2018Q1YTD" id="Fact-B99E89993C43B074164AF96A484177D3">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;A reconciliation of the United States federal statutory corporate tax rate to the Company&amp;#8217;s income tax expense, or effective tax rate, was as follows:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="6" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:77%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months&amp;#160;Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax provision at federal statutory corporate tax rate&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;21&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;State income taxes, net of federal benefit&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign tax rate differential&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(7&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Tax credit&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Discrete tax benefit related to stock option exercises&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(33&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other discrete tax events&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax provision&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
	<us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="FD2018Q1YTD" id="Fact-5046C0B09855A179D403F96A482A99FE">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:69%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cost of revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;797&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;430&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,815&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,610&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,582&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,443&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;13,194&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,483&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
	<us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock contextRef="FD2018Q1YTD" id="Fact-C7D86629F7E4A5A8F552F96A483A245C">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="11" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:50%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Quoted&amp;#160;Prices&amp;#160;in&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Active Markets&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;for Identical&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Assets (Level 1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Significant&amp;#160;    Other&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Observable&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Inputs (Level 2)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;&lt;br clear="none"/&gt;Unobservable&lt;br clear="none"/&gt;Inputs                                                                                                                                                                             (Level 3)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Assets:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,958&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;380,621&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;142,299&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;131,678&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;22,780&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,501&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,931&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash flow hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Liabilities:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash flow hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,115&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
	<us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="FD2018Q1YTD" id="Fact-9E58C74E906981ACAE7F03FE213137CF">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amortized intangible assets consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;13,687&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,791&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,896&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,607&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,330&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,277&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-compete agreements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;370&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;123&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;247&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;60,724&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;48,304&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,420&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,687&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,181&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,506&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,607&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,202&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,405&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-compete agreements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;370&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;92&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;278&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;60,724&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,535&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,189&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
	<us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="FD2018Q1YTD" id="Fact-483CE3B9DB5395993453F96A4829B1DC">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventories consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:63%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Raw materials&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;42,759&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;33,927&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Work-in-process&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,192&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,114&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Finished goods&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;51,448&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;31,882&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;96,399&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;67,923&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
	<us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="FD2018Q1YTD" id="Fact-4B00B2C90FE7BEE74376041CFE8B69BB">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The adoption of the standard impacted our previously-reported results as follows (in thousands): &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:58%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Statement of Operations&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As previously reported&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Adjustment&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As restated&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;134,942&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,097&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;139,039&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cost of revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;28,225&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,307&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;32,532&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross margin&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;106,717&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(210&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;106,507&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Operating income&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37,426&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(210&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37,216&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income before income tax expense&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;39,445&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(210&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;39,235&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax expense (benefit)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(6,210&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(26&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(6,236&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net income&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;45,655&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(184&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;45,471&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net income per weighted-average common and common-equivalend share:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Basic&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.26&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.26&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Diluted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.26&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(0.01&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.25&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:58%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Balance Sheet&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As previously reported&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Adjustment&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As restated&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid expenses and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;30,800&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(117&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;30,683&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued income taxes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;11,391&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;112&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;11,503&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Deferred revenue and customer deposits&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,969&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(549&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,420&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Retained earnings&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;668,267&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;320&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;668,587&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
	<us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="FD2018Q1YTD" id="Fact-19E50F230749C455CB27F96A482F73A2">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The changes in the warranty obligation were as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,701&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Provisions for warranties issued during the period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;697&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fulfillment of warranty obligations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(802&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign exchange rate changes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;116&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,712&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
	<us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="FD2018Q1YTD" id="Fact-E4F468C387D722419B2AF96A483ABE39">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s stock option activity for the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;three&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-left:0px;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="13" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:39%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(in&amp;#160;thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Average&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Exercise&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Average&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Remaining&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Contractual&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Term&amp;#160;(in&amp;#160;years)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Aggregate&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Intrinsic&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(in&amp;#160;thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12,726&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25.24&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,043&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;56.44&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Exercised&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(697&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15.96&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(68&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25.84&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;14,004&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;30.25&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7.9&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;317,169&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Exercisable as of April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,879&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;19.88&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6.5&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;156,676&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#cceeff;"&gt;Options vested or expected to vest as of April 1, 2018 (1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,377&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;28.99&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7.8&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;294,379&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160; &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-left:48px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-left:48px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future.  Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
	<us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="FD2018Q1YTD" id="Fact-B65B0775EAB235CFF8E1F96A483761BC">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="6" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:71%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months&amp;#160;Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Risk-free rate&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2.9&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2.4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected dividend yield&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;0.32&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.39&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected volatility&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;39&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;41&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected term (in years)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5.3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5.3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
	<us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock contextRef="FD2018Q1YTD" id="Fact-1E26CBDC7BE54E81509BF96A482110D0">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="24" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:29%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized Loss Position For:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Less than 12 Months&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;12 Months or Greater&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Total&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;172,162&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(812&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,693&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(292&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;195,855&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,104&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;96,209&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(277&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;42,487&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(187&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;138,696&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(464&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;112,632&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(614&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,640&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(10&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;115,272&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(624&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,599&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(9&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,730&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(69&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12,329&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(78&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,196&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(24&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,196&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(24&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;388,798&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1,736&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;77,550&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(558&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;466,348&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(2,294&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock>
	<us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock contextRef="FD2018Q1YTD" id="Fact-440926DE2E009A29152BF96A48424BD4">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Weighted-average shares were calculated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="6" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:77%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;April 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Basic weighted-average common shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;173,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;172,646&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Effect of dilutive stock options&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,361&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,708&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Weighted-average common and common-equivalent shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;179,641&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;178,354&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
	<us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="FD2018Q1YTD" id="Fact-B56272B350D41BB4923903FF4938A1DE">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As of April 1, 2018, estimated future amortization expense related to intangible assets is as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Amount&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Remainder of fiscal 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,307&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,701&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,185&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2022&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,691&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2023&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;989&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;530&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,420&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
	<us-gaap:SignificantAccountingPoliciesTextBlock contextRef="FD2018Q1YTD" id="Fact-1A4A0282621282E49388F96A4839CCA6">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Summary of Significant Accounting Policies&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form                      10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP).  As a result of the adoption of ASC 606 "Revenue from Contracts with Customers," Cognex Corporation (the "Company") has provided new disclosures related to revenue recognition in this Quarterly Report on Form 10-Q.  Reference should be made to the consolidated financial statements and related notes included in the Company&amp;#8217;s Annual Report on Form 10-K for the year ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; for a full description of other significant accounting policies.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments and financial statement reclassifications, necessary to present fairly the Company&amp;#8217;s financial position as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and the results of its operations for the three-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and changes in shareholders&amp;#8217; equity, comprehensive income, and cash flows for the periods presented.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The results disclosed in the Consolidated Statements of Operations for the three-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;April&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; are not necessarily indicative of the results to be expected for the full year.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Revenue Recognition&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes revenue in accordance with Accounting Standards Codification (ASC) 606, &amp;#8220;Revenue from Contracts with Customers.&amp;#8221; The core principle of ASC 606 is to recognize revenue in a manner that depicts the transfer of promised goods or services to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services.  The framework in support of this core principle includes: (1) identifying the contract with the customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations; and (5) recognizing revenue when (or as) the performance obligations are satisfied.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Identifying the Contract with the Customer&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company identifies contracts with customers as agreements that create enforceable rights and obligations, which typically take the form of customer contracts or purchase orders.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Identifying the Performance Obligations in the Contract&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company identifies performance obligations as promises in contracts to transfer distinct goods or services. Standard products and services that the Company regularly sells separately are accounted for as distinct performance obligations.  Application-specific customer solutions that are comprised of a combination of products and services are accounted for as one performance obligation to deliver a total solution to the customer.  These solutions are provided to customers in a variety of industries, including the consumer electronics, logistics, and automotive industries.   &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Shipping and handling activities for which the Company is responsible under the terms and conditions of the sale are not accounted for as performance obligations but as fulfillment costs.  These activities are required to fulfill the Company&amp;#8217;s promise to transfer the good and are expensed when revenue is recognized.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company does not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract.  If revenue is recognized before immaterial promises have been completed, then the costs related to such immaterial promises are accrued at the time of sale.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Determining the Transaction Price&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company determines the transaction price as the amount of consideration it expects to receive in exchange for transferring promised goods or services to the customer.  Amounts collected from customers for sales taxes are excluded from the transaction price. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;If a contract includes a variable amount, such as a rebate, then the Company estimates the transaction price using either the expected value or the most likely amount of consideration to be received, depending upon the specific facts and circumstances.  The Company includes estimated variable consideration in the transaction price only to the extent it is probable that a significant reversal of revenue will not occur when the uncertainty is resolved.  The Company updates its estimate of variable consideration at the end of each reporting period to reflect changes in facts and circumstances.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Allocating the Transaction Price to the Performance Obligations&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company allocates the transaction price to each performance obligation at contract inception based on a relative stand-alone selling price basis, or the price at which the Company would sell the good or service separately to similar customers in similar circumstances.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Recognizing Revenue When (or As) the Performance Obligations are Satisfied&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes revenue when it transfers the promised goods or services to the customer.  Revenue for standard products is recognized at the point in time when the customer obtains control of the goods, which is typically upon delivery when the customer has legal title, physical possession, the risks and rewards of ownership, and an enforceable obligation to pay for the products.  Revenue for services, which are not material, are typically recognized over the time the services are provided.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue for application-specific customer solutions is recognized at the point in time when the solution is validated, which is the point in time when the Company can objectively determine that the agreed-upon specifications in the contract have been met and the customer will accept the performance obligations in the arrangement.  Although the customer may have taken legal title and physical possession of the goods when they arrived at the customer&amp;#8217;s designed site, the significant risks and rewards of ownership transfer to the customer only upon validation. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In certain instances, an arrangement may include customer-specified acceptance provisions or performance guarantees that allow the customer to accept or reject delivered products that do not meet the customer&amp;#8217;s specifications.  If the Company can objectively determine that control of a good or service has been transferred to the customer in accordance with the agreed-upon specifications in the contract, then customer acceptance is a formality.  If acceptance provisions are presumed to be substantive, then revenue is deferred until customer acceptance.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;For the Company&amp;#8217;s standard products and services, revenue recognition and billing typically occur at the same time.  For application-specific customer solutions, however, the agreement with the customer may provide for billing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Credit assessments are performed to determine payment terms, which vary by region, industry, and customer.  Prepayment terms result in contract liabilities for customer deposits.  When credit is granted to customers, payment is typically due 30 to 90 days from billing.  The Company's contracts have an original expected duration of less than one year, and therefore as a practical expedient, the Company has elected to ignore the impact of the time value of money on a contract and to expense sales commissions.  The Company recognizes an asset for costs to fulfill a contract if the costs relate directly to the contract and to future performance, and the costs are expected to be recovered.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Management exercises judgment when determining the amount of revenue to be recognized each period.  Such judgments include, but are not limited to, assessing the customer&amp;#8217;s ability and intention to pay substantially all of the contract consideration when due, determining when two or more contracts should be combined and accounted for as a single contract, determining whether a contract modification has occurred, assessing whether promises are immaterial in the context of the contract, determining whether material promises in a contract represent distinct performance obligations, estimating the transaction price for a contract that contains variable consideration, determining the stand-alone selling price of each performance obligation, determining whether control is transferred over time or at a point in time for performance obligations, and assessing whether formal customer acceptance provisions are substantive.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
	<us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="FD2018Q1YTD" id="Fact-BE1D23CC333E538BDA49F96A48418656">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Stock Repurchase Program&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In April 2017, the Company's Board of Directors authorized the repurchase of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$100,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of the Company's common stock.  As of April 1, 2018, the Company repurchased &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,744,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares at a cost of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$100,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; under this program, including &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;803,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares at a cost of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$45,200,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in the three-month period ended April 1, 2018.  Stock repurchases under this April 2017 program are now complete.  In February 2018, the Company's Board of Directors authorized the repurchase of an additional &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$150,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of the Company's common stock.  As of April 1, 2018, the Company repurchased &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;453,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares at a cost of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$24,002,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; under this program, leaving a remaining authorized balance of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$125,998,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  Total stock repurchases for the three-month period ended April 1, 2018 amounted to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$69,202,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  The Company may repurchase shares under this program in future periods depending upon a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
	<us-gaap:SubsequentEventsTextBlock contextRef="FD2018Q1YTD" id="Fact-A9EF9D1F0839C17B3A96F96A48425379">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Subsequent Events&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On April 25, 2018, the Company's shareholders approved an amendment to the Company's Articles of Organization to increase the authorized number of shares of common stock from&amp;#160;&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;200,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;to&amp;#160;&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;300,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  In addition, on April 25, 2018, the Company's shareholders approved an amendment and restatement of the Company's 2001 General Stock Option Plan which provides for an increase in the number of available shares by &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On April 30, 2018, the Company&amp;#8217;s Board of Directors declared a cash dividend of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$0.045&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; per share.  The dividend is payable &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;June&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to all shareholders of record as of the close of business on &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;May&amp;#160;18, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
	<link:footnoteLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
	</link:footnoteLink>
</xbrli:xbrl>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>8
<FILENAME>cgnx-20180401.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.cognex.com/20180401" xmlns:cgnx="http://www.cognex.com/20180401" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:import namespace="http://fasb.org/us-gaap/2017-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2017-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2017/elts/us-roles-2017-01-31.xsd" />
  <xsd:import namespace="http://fasb.org/us-types/2017-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2017/elts/us-types-2017-01-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/country/2017-01-31" schemaLocation="http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/currency/2017-01-31" schemaLocation="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/dei/2014-01-31" schemaLocation="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/exch/2017-01-31" schemaLocation="http://xbrl.sec.gov/exch/2017/exch-2017-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/invest/2013-01-31" schemaLocation="http://xbrl.sec.gov/invest/2013/invest-2013-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/naics/2017-01-31" schemaLocation="http://xbrl.sec.gov/naics/2017/naics-2017-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/sic/2011-01-31" schemaLocation="http://xbrl.sec.gov/sic/2011/sic-2011-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2011-01-31" schemaLocation="http://xbrl.sec.gov/stpr/2011/stpr-2011-01-31.xsd" />
  <xsd:annotation>
    <xsd:appinfo>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20180401_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20180401_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20180401_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20180401_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple" />
      <link:roleType id="CashCashEquivalentsAndInvestments" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestments">
        <link:definition>2105100 - Disclosure - Cash, Cash Equivalents, and Investments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail">
        <link:definition>2405403 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestmentsDetail" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail">
        <link:definition>2405402 - Disclosure - Cash, Cash Equivalents, and Investments (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail">
        <link:definition>2405406 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail">
        <link:definition>2405405 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail">
        <link:definition>2405404 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestmentsTables" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables">
        <link:definition>2305301 - Disclosure - Cash, Cash Equivalents, and Investments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheets" roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets">
        <link:definition>1003000 - Statement - Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheetsParenthetical" roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical">
        <link:definition>1003501 - Statement - Consolidated Balance Sheets (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementOfShareholdersEquity" roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity">
        <link:definition>1005000 - Statement - Consolidated Statement of Shareholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementOfShareholdersEquityParenthetical" roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical">
        <link:definition>1005501 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsOfCashFlows" roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows">
        <link:definition>1004000 - Statement - Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome">
        <link:definition>1002000 - Statement - Consolidated Statements of Comprehensive Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsOfComprehensiveIncomeParenthetical" roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical">
        <link:definition>1002501 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsOfOperations" roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfOperations">
        <link:definition>1001000 - Statement - Consolidated Statements of Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstruments" roleURI="http://www.cognex.com/role/DerivativeInstruments">
        <link:definition>2112100 - Disclosure - Derivative Instruments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail">
        <link:definition>2412406 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsDetail" roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetail">
        <link:definition>2412402 - Disclosure - Derivative Instruments (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsOffsettingAssetsDetail" roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail">
        <link:definition>2412405 - Disclosure - Derivative Instruments - Offsetting Assets (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsOutstandingForwardContractsTableDetail" roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail">
        <link:definition>2412403 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail">
        <link:definition>2412404 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsTables" roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables">
        <link:definition>2312301 - Disclosure - Derivative Instruments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DocumentAndEntityInformation" roleURI="http://www.cognex.com/role/DocumentAndEntityInformation">
        <link:definition>0001000 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurements" roleURI="http://www.cognex.com/role/FairValueMeasurements">
        <link:definition>2104100 - Disclosure - Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail">
        <link:definition>2404402 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" roleURI="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails">
        <link:definition>2404403 - Disclosure - Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsTables" roleURI="http://www.cognex.com/role/FairValueMeasurementsTables">
        <link:definition>2304301 - Disclosure - Fair Value Measurements (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssets" roleURI="http://www.cognex.com/role/IntangibleAssets">
        <link:definition>2108100 - Disclosure - Intangible Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsDetails" roleURI="http://www.cognex.com/role/IntangibleAssetsDetails">
        <link:definition>2408402 - Disclosure - Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsDetailsCalc2" roleURI="http://www.cognex.com/role/IntangibleAssetsDetailsCalc2">
        <link:definition>2408402 - Disclosure - Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsTables" roleURI="http://www.cognex.com/role/IntangibleAssetsTables">
        <link:definition>2308301 - Disclosure - Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Inventories" roleURI="http://www.cognex.com/role/Inventories">
        <link:definition>2106100 - Disclosure - Inventories</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesScheduleOfInventoriesDetail" roleURI="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail">
        <link:definition>2406402 - Disclosure - Inventories - Schedule of Inventories (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesTables" roleURI="http://www.cognex.com/role/InventoriesTables">
        <link:definition>2306301 - Disclosure - Inventories (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NewPronouncements" roleURI="http://www.cognex.com/role/NewPronouncements">
        <link:definition>2103100 - Disclosure - New Pronouncements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRecognition" roleURI="http://www.cognex.com/role/RevenueRecognition">
        <link:definition>2113100 - Disclosure - Revenue Recognition</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRecognitionDetails" roleURI="http://www.cognex.com/role/RevenueRecognitionDetails">
        <link:definition>2413402 - Disclosure - Revenue Recognition (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRecognitionTables" roleURI="http://www.cognex.com/role/RevenueRecognitionTables">
        <link:definition>2313301 - Disclosure - Revenue Recognition (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpense" roleURI="http://www.cognex.com/role/StockBasedCompensationExpense">
        <link:definition>2115100 - Disclosure - Stock-Based Compensation Expense</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseDetail" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetail">
        <link:definition>2415402 - Disclosure - Stock-Based Compensation Expense (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails">
        <link:definition>2415405 - Disclosure - Stock-Based Compensation Expense - Nonvested Restricted Stock Shares Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail">
        <link:definition>2415406 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail">
        <link:definition>2415403 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseTables" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables">
        <link:definition>2315301 - Disclosure - Stock-Based Compensation Expense (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail">
        <link:definition>2415404 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockRepurchaseProgram" roleURI="http://www.cognex.com/role/StockRepurchaseProgram">
        <link:definition>2116100 - Disclosure - Stock Repurchase Program</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockRepurchaseProgramDetail" roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetail">
        <link:definition>2416401 - Disclosure - Stock Repurchase Program (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SubsequentEvents" roleURI="http://www.cognex.com/role/SubsequentEvents">
        <link:definition>2121100 - Disclosure - Subsequent Events</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SubsequentEventsDetails" roleURI="http://www.cognex.com/role/SubsequentEventsDetails">
        <link:definition>2421401 - Disclosure - Subsequent Events (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryOfSignificantAccountingPolicies" roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies">
        <link:definition>2101100 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryOfSignificantAccountingPoliciesPolicies" roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies">
        <link:definition>2201201 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Taxes" roleURI="http://www.cognex.com/role/Taxes">
        <link:definition>2119100 - Disclosure - Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="TaxesDetail" roleURI="http://www.cognex.com/role/TaxesDetail">
        <link:definition>2419403 - Disclosure - Taxes (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" roleURI="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail">
        <link:definition>2419402 - Disclosure - Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="TaxesTables" roleURI="http://www.cognex.com/role/TaxesTables">
        <link:definition>2319301 - Disclosure - Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WarrantyObligations" roleURI="http://www.cognex.com/role/WarrantyObligations">
        <link:definition>2109100 - Disclosure - Warranty Obligations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WarrantyObligationsChangesInWarrantyObligationsDetail" roleURI="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail">
        <link:definition>2409402 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WarrantyObligationsTables" roleURI="http://www.cognex.com/role/WarrantyObligationsTables">
        <link:definition>2309301 - Disclosure - Warranty Obligations (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WeightedAverageShares" roleURI="http://www.cognex.com/role/WeightedAverageShares">
        <link:definition>2120100 - Disclosure - Weighted-Average Shares</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail">
        <link:definition>2420402 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WeightedAverageSharesDetail" roleURI="http://www.cognex.com/role/WeightedAverageSharesDetail">
        <link:definition>2420403 - Disclosure - Weighted-Average Shares (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WeightedAverageSharesTables" roleURI="http://www.cognex.com/role/WeightedAverageSharesTables">
        <link:definition>2320301 - Disclosure - Weighted-Average Shares (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element abstract="true" id="cgnx_AccruedExpensesMember" name="AccruedExpensesMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_AgencyBondsMember" name="AgencyBondsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_ApplicationSpecificCustomerSolutionsMember" name="ApplicationSpecificCustomerSolutionsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_AsiaExcludingChinaMember" name="AsiaExcludingChinaMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" name="CashCashEquivalentsShortTermAndLongTermInvestments" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_CashflowshedgesAbstract" name="CashflowshedgesAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_ChiaroContingentConsiderationMember" name="ChiaroContingentConsiderationMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" name="ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_CurrencytranslationadjustmentsAbstract" name="CurrencytranslationadjustmentsAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_DocumentAndEntityInformationAbstract" name="DocumentAndEntityInformationAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" name="EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" name="EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" name="EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" name="EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" name="EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_ExpirationPeriodOfStockOptionPlan" name="ExpirationPeriodOfStockOptionPlan" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix" name="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix" name="FiniteLivedIntangibleAssetsAmortizationExpenseYearSix" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_GVIContingentConsiderationMember" name="GVIContingentConsiderationMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_GeneralStockOptionPlanMember" name="GeneralStockOptionPlanMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" name="IncomeTaxExaminationYearsUnderExaminationOtherEntities" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_IncomeTaxLineItems" name="IncomeTaxLineItems" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_IncomeTaxTable" name="IncomeTaxTable" nillable="true" substitutionGroup="xbrldt:hypercubeItem" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_IncreaseDecreaseInterestAndPenalties" name="IncreaseDecreaseInterestAndPenalties" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" name="IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_LiabilityForUncertainTaxPositions" name="LiabilityForUncertainTaxPositions" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_LongTermInvestmentsMember" name="LongTermInvestmentsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_ManateeContingentConsiderationMember" name="ManateeContingentConsiderationMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" name="MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" name="MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_NorthAndSouthAmericaMember" name="NorthAndSouthAmericaMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_NumberOfGroupsWithinEmployeePopulation" name="NumberOfGroupsWithinEmployeePopulation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:integerItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_OutstandingForwardContractsTableTextBlock" name="OutstandingForwardContractsTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_PaymentsForDivestitureofBusinesses" name="PaymentsForDivestitureofBusinesses" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_RepurchaseProgramApril2017Member" name="RepurchaseProgramApril2017Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_RepurchaseProgramApril2017andFebruary2018Member" name="RepurchaseProgramApril2017andFebruary2018Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_RepurchaseProgramFebruary2018Member" name="RepurchaseProgramFebruary2018Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_SellingGeneralAndAdministrativeMember" name="SellingGeneralAndAdministrativeMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" name="SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_StandardProductsandServicesMember" name="StandardProductsandServicesMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased" name="StockRepurchaseProgramAggregateNumberofSharesRepurchased" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_StockRepurchaseProgramValue" name="StockRepurchaseProgramValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_TaxyearsopentoexaminationbyInternalRevenueService" name="TaxyearsopentoexaminationbyInternalRevenueService" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" name="Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_Vestingperiodperformancebasedrestrictedstockyears" name="Vestingperiodperformancebasedrestrictedstockyears" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_Vestingperiodtimebasedrestrictedstockyears" name="Vestingperiodtimebasedrestrictedstockyears" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>9
<FILENAME>cgnx-20180401_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestments" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:href="cgnx-20180401.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="cgnx-20180401.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementOfShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstruments" xlink:href="cgnx-20180401.xsd#DerivativeInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DocumentAndEntityInformation" xlink:href="cgnx-20180401.xsd#DocumentAndEntityInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurements" xlink:href="cgnx-20180401.xsd#FairValueMeasurements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:href="cgnx-20180401.xsd#FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:href="cgnx-20180401.xsd#FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:href="cgnx-20180401.xsd#FairValueMeasurementsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssets" xlink:href="cgnx-20180401.xsd#IntangibleAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:href="cgnx-20180401.xsd#IntangibleAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetailsCalc2" xlink:href="cgnx-20180401.xsd#IntangibleAssetsDetailsCalc2" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsTables" xlink:href="cgnx-20180401.xsd#IntangibleAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Inventories" xlink:href="cgnx-20180401.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:href="cgnx-20180401.xsd#InventoriesScheduleOfInventoriesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesTables" xlink:href="cgnx-20180401.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/NewPronouncements" xlink:href="cgnx-20180401.xsd#NewPronouncements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognition" xlink:href="cgnx-20180401.xsd#RevenueRecognition" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionDetails" xlink:href="cgnx-20180401.xsd#RevenueRecognitionDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionTables" xlink:href="cgnx-20180401.xsd#RevenueRecognitionTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpense" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgram" xlink:href="cgnx-20180401.xsd#StockRepurchaseProgram" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:href="cgnx-20180401.xsd#StockRepurchaseProgramDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEvents" xlink:href="cgnx-20180401.xsd#SubsequentEvents" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEventsDetails" xlink:href="cgnx-20180401.xsd#SubsequentEventsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="cgnx-20180401.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="cgnx-20180401.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Taxes" xlink:href="cgnx-20180401.xsd#Taxes" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesDetail" xlink:href="cgnx-20180401.xsd#TaxesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:href="cgnx-20180401.xsd#TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesTables" xlink:href="cgnx-20180401.xsd#TaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligations" xlink:href="cgnx-20180401.xsd#WarrantyObligations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:href="cgnx-20180401.xsd#WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsTables" xlink:href="cgnx-20180401.xsd#WarrantyObligationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageShares" xlink:href="cgnx-20180401.xsd#WeightedAverageShares" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:href="cgnx-20180401.xsd#WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:href="cgnx-20180401.xsd#WeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:href="cgnx-20180401.xsd#WeightedAverageSharesTables" xlink:type="simple" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestments" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_b0ea7d99-7eac-6d25-0c03-f96b5ae59d03" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07da1db4-2708-4446-4250-1fdd5956185e" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_b0ea7d99-7eac-6d25-0c03-f96b5ae59d03" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07da1db4-2708-4446-4250-1fdd5956185e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_94c137c7-bb31-5444-c8e6-a4a41bb54d97" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07da1db4-2708-4446-4250-1fdd5956185e" xlink:to="loc_us-gaap_Cash_94c137c7-bb31-5444-c8e6-a4a41bb54d97" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_3aae306e-5a24-8a9a-c9e0-b6adf2c9a083" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07da1db4-2708-4446-4250-1fdd5956185e" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_3aae306e-5a24-8a9a-c9e0-b6adf2c9a083" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3dfc2054-7ef3-a116-42e5-83130d5f5732" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_b0ea7d99-7eac-6d25-0c03-f96b5ae59d03" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3dfc2054-7ef3-a116-42e5-83130d5f5732" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_c62504ca-c588-7676-b66d-68002db39ddb" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_b0ea7d99-7eac-6d25-0c03-f96b5ae59d03" xlink:to="loc_us-gaap_LongTermInvestments_c62504ca-c588-7676-b66d-68002db39ddb" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_4836856d-11b6-313b-8616-6a2c8b77e26f" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_4836856d-11b6-313b-8616-6a2c8b77e26f" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6d8cff72-0b26-7918-b109-f96b5b678eb5" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6d8cff72-0b26-7918-b109-f96b5b678eb5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_daa02421-fe8b-2920-db3f-f96b5b5e117c" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_daa02421-fe8b-2920-db3f-f96b5b5e117c" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8f6df217-aa1f-776a-7669-f96b5b5f0e30" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8f6df217-aa1f-776a-7669-f96b5b5f0e30" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_77bd18f8-893c-6c84-9bd0-f96b5b3b7a9c" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_77bd18f8-893c-6c84-9bd0-f96b5b3b7a9c" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_4008914f-e0ea-7b87-57e9-f96b5b689524" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_4008914f-e0ea-7b87-57e9-f96b5b689524" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_fa6902f3-9ec3-0632-57ef-52a27e57695e" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_aaf3e830-a5d9-ffa3-4995-c9e738f331db" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_fa6902f3-9ec3-0632-57ef-52a27e57695e" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_aaf3e830-a5d9-ffa3-4995-c9e738f331db" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_80d8afbb-83ba-fc94-42ba-ea8166197445" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_fa6902f3-9ec3-0632-57ef-52a27e57695e" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_80d8afbb-83ba-fc94-42ba-ea8166197445" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_00e7a94b-1ec9-6499-7f0a-2050ff159115" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_a1dd3f1b-4c24-2372-1a98-24b25891a665" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_00e7a94b-1ec9-6499-7f0a-2050ff159115" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_a1dd3f1b-4c24-2372-1a98-24b25891a665" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_7b1de9af-f23a-d7bf-8a2c-7efccf28ddba" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_00e7a94b-1ec9-6499-7f0a-2050ff159115" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_7b1de9af-f23a-d7bf-8a2c-7efccf28ddba" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_fc961581-2899-aa00-cc82-b67bd4267bb3" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_bb34ca49-0ca6-d513-414f-31e205fa11cc" xlink:type="locator" />
    <link:calculationArc order="1" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_fc961581-2899-aa00-cc82-b67bd4267bb3" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_bb34ca49-0ca6-d513-414f-31e205fa11cc" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_fa6902f3-9ec3-0632-57ef-52a27e57695e" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_fc961581-2899-aa00-cc82-b67bd4267bb3" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_fa6902f3-9ec3-0632-57ef-52a27e57695e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecurities_d444402b-921b-e0fa-119c-908ab66850af" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_fc961581-2899-aa00-cc82-b67bd4267bb3" xlink:to="loc_us-gaap_AvailableForSaleSecurities_d444402b-921b-e0fa-119c-908ab66850af" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_159dcb00-b17e-17db-7098-be4159799459" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_159dcb00-b17e-17db-7098-be4159799459" xlink:to="loc_us-gaap_Liabilities_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_f5e246cf-e80f-d00b-c8ed-4796aa2df4b4" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:to="loc_us-gaap_LiabilitiesCurrent_f5e246cf-e80f-d00b-c8ed-4796aa2df4b4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_7a72b51a-735c-1ad4-bd3f-d9bcf2d6a26d" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_f5e246cf-e80f-d00b-c8ed-4796aa2df4b4" xlink:to="loc_us-gaap_AccountsPayableCurrent_7a72b51a-735c-1ad4-bd3f-d9bcf2d6a26d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_3fe8f96b-142b-97b1-3b39-b8d22cd10e98" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_f5e246cf-e80f-d00b-c8ed-4796aa2df4b4" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_3fe8f96b-142b-97b1-3b39-b8d22cd10e98" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_bd3a7ae4-0e62-b7df-2312-729d1644863d" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_f5e246cf-e80f-d00b-c8ed-4796aa2df4b4" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_bd3a7ae4-0e62-b7df-2312-729d1644863d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_6731e9e1-bfb2-76de-c1de-51076d3ff7a2" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_f5e246cf-e80f-d00b-c8ed-4796aa2df4b4" xlink:to="loc_us-gaap_DeferredRevenueAndCreditsCurrent_6731e9e1-bfb2-76de-c1de-51076d3ff7a2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_bda61526-afae-4edf-1e19-ab8c94a352d1" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_bda61526-afae-4edf-1e19-ab8c94a352d1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_f234998c-5e05-09d0-d53e-5c44423c97c0" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_f234998c-5e05-09d0-d53e-5c44423c97c0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxes" xlink:label="loc_us-gaap_AccruedIncomeTaxes_e24bf851-0f63-5d95-87c7-77732da67d36" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:to="loc_us-gaap_AccruedIncomeTaxes_e24bf851-0f63-5d95-87c7-77732da67d36" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_9a73c768-7e07-f56f-7aba-2b93110d3715" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_9a73c768-7e07-f56f-7aba-2b93110d3715" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_4b158f76-5f04-5e4d-ead3-d80e1f9943db" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_159dcb00-b17e-17db-7098-be4159799459" xlink:to="loc_us-gaap_StockholdersEquity_4b158f76-5f04-5e4d-ead3-d80e1f9943db" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockValueOutstanding" xlink:label="loc_us-gaap_CommonStockValueOutstanding_84f35893-355e-0c6f-c67d-2f363beeac9a" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_4b158f76-5f04-5e4d-ead3-d80e1f9943db" xlink:to="loc_us-gaap_CommonStockValueOutstanding_84f35893-355e-0c6f-c67d-2f363beeac9a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_41895068-9590-2880-73df-521995865843" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_4b158f76-5f04-5e4d-ead3-d80e1f9943db" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_41895068-9590-2880-73df-521995865843" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_065cb284-7fca-cc9b-5752-2feaf74d0011" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_4b158f76-5f04-5e4d-ead3-d80e1f9943db" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_065cb284-7fca-cc9b-5752-2feaf74d0011" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_04f0961a-a0bc-88cf-6658-3f950da4a458" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_4b158f76-5f04-5e4d-ead3-d80e1f9943db" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_04f0961a-a0bc-88cf-6658-3f950da4a458" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_AssetsCurrent_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07da1db4-2708-4446-4250-1fdd5956185e" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07da1db4-2708-4446-4250-1fdd5956185e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3dfc2054-7ef3-a116-42e5-83130d5f5732" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3dfc2054-7ef3-a116-42e5-83130d5f5732" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_dd7775cd-f4ab-5607-9b31-1ee98f605818" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_dd7775cd-f4ab-5607-9b31-1ee98f605818" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_0af4cf4f-dd4e-4a27-50f3-b3447f0d9b89" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent_0af4cf4f-dd4e-4a27-50f3-b3447f0d9b89" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_7eab44cf-1ea1-ca2a-420f-21f7b5343fc3" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:to="loc_us-gaap_InventoryNet_7eab44cf-1ea1-ca2a-420f-21f7b5343fc3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_2294e6a2-7bab-43ed-d02c-bdf73b8fa561" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_2294e6a2-7bab-43ed-d02c-bdf73b8fa561" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_c62504ca-c588-7676-b66d-68002db39ddb" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_LongTermInvestments_c62504ca-c588-7676-b66d-68002db39ddb" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_1944a381-5c4e-ce3c-9111-13ccd1c639db" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_1944a381-5c4e-ce3c-9111-13ccd1c639db" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_0176d7b6-3703-b24f-2db3-fb35a9f915aa" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_0176d7b6-3703-b24f-2db3-fb35a9f915aa" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_49187b45-82fd-7060-b114-79ff249a4331" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_49187b45-82fd-7060-b114-79ff249a4331" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_93a64cae-271a-5e6b-8c83-5adf9f941142" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_Goodwill_93a64cae-271a-5e6b-8c83-5adf9f941142" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_9b27fab9-d497-627b-4cfb-6b585220b978" xlink:type="locator" />
    <link:calculationArc order="7" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_9b27fab9-d497-627b-4cfb-6b585220b978" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_dd2e9db6-10f9-d78a-ba84-b18268245a83" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_dd2e9db6-10f9-d78a-ba84-b18268245a83" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_641b1cab-a2b3-2e0e-8389-1455ff3f8581" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_NetIncomeLoss_641b1cab-a2b3-2e0e-8389-1455ff3f8581" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaap_StockOptionPlanExpense_104477f8-83c9-dc2e-3540-f2495eaf6b1c" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_StockOptionPlanExpense_104477f8-83c9-dc2e-3540-f2495eaf6b1c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_b4463f01-8926-c348-9c78-89e2ab0ed145" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_Depreciation_b4463f01-8926-c348-9c78-89e2ab0ed145" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_ae796c5c-1c01-d654-6a3c-3b5dd2c89517" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_ae796c5c-1c01-d654-6a3c-3b5dd2c89517" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_ee12cc29-63c9-040c-19f2-17921f90c9bb" xlink:type="locator" />
    <link:calculationArc order="5" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_ee12cc29-63c9-040c-19f2-17921f90c9bb" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_a2377e00-ed9e-3dc2-4fbd-c7e624463b5d" xlink:type="locator" />
    <link:calculationArc order="6" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_GainLossOnSaleOfInvestments_a2377e00-ed9e-3dc2-4fbd-c7e624463b5d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_23d33fb4-4c27-bc2e-1ec3-5bf906d2e523" xlink:type="locator" />
    <link:calculationArc order="7" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_23d33fb4-4c27-bc2e-1ec3-5bf906d2e523" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_37df9202-d5d1-1363-9956-7b4402bf22d6" xlink:type="locator" />
    <link:calculationArc order="8" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_37df9202-d5d1-1363-9956-7b4402bf22d6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_dd4bfa5e-1979-c817-e8a9-371104c0d4f7" xlink:type="locator" />
    <link:calculationArc order="9" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_dd4bfa5e-1979-c817-e8a9-371104c0d4f7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_6cd34f19-57d8-aa6f-5d3a-fb8e0fc91b31" xlink:type="locator" />
    <link:calculationArc order="10" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_6cd34f19-57d8-aa6f-5d3a-fb8e0fc91b31" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_bf3f9720-ba63-7ecd-52ae-e754a6f349db" xlink:type="locator" />
    <link:calculationArc order="11" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_bf3f9720-ba63-7ecd-52ae-e754a6f349db" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_c998cbd2-a633-c2ec-1932-e3bfedecbc9f" xlink:type="locator" />
    <link:calculationArc order="12" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_c998cbd2-a633-c2ec-1932-e3bfedecbc9f" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_a8b6fe35-4809-bddf-7ef6-3144a6c89165" xlink:type="locator" />
    <link:calculationArc order="13" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_a8b6fe35-4809-bddf-7ef6-3144a6c89165" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_74be5b6b-5c06-c74c-89da-2d9660b81d9b" xlink:type="locator" />
    <link:calculationArc order="14" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_74be5b6b-5c06-c74c-89da-2d9660b81d9b" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_e1b56980-77f5-cd6e-5f3f-b4c4391067d0" xlink:type="locator" />
    <link:calculationArc order="15" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_e1b56980-77f5-cd6e-5f3f-b4c4391067d0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_91397648-589d-3b53-47c8-16b8909c78f4" xlink:type="locator" />
    <link:calculationArc order="16" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_91397648-589d-3b53-47c8-16b8909c78f4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_962cfc51-230d-a221-126b-1d12af7a5921" xlink:type="locator" />
    <link:calculationArc order="17" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_962cfc51-230d-a221-126b-1d12af7a5921" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_70319186-e7bd-7189-88d2-eba26fb93350" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_dd2e9db6-10f9-d78a-ba84-b18268245a83" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_70319186-e7bd-7189-88d2-eba26fb93350" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_a3cce359-4901-8e47-7521-d2fa73471a4d" xlink:type="locator" />
    <link:calculationArc order="1" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_70319186-e7bd-7189-88d2-eba26fb93350" xlink:to="loc_us-gaap_PaymentsToAcquireInvestments_a3cce359-4901-8e47-7521-d2fa73471a4d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_121f9e9b-9a4d-e32c-aef0-97aedfda4465" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_70319186-e7bd-7189-88d2-eba26fb93350" xlink:to="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_121f9e9b-9a4d-e32c-aef0-97aedfda4465" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_fee12b15-6b42-6245-2e2f-ff030b98332c" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_70319186-e7bd-7189-88d2-eba26fb93350" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_fee12b15-6b42-6245-2e2f-ff030b98332c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_9d35c912-5b2d-89f7-eeb3-812a0511db5e" xlink:type="locator" />
    <link:calculationArc order="4" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_70319186-e7bd-7189-88d2-eba26fb93350" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_9d35c912-5b2d-89f7-eeb3-812a0511db5e" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_PaymentsForDivestitureofBusinesses" xlink:label="loc_cgnx_PaymentsForDivestitureofBusinesses_f2e4873d-79d7-2f60-06e1-f96b5b17326a" xlink:type="locator" />
    <link:calculationArc order="5" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_70319186-e7bd-7189-88d2-eba26fb93350" xlink:to="loc_cgnx_PaymentsForDivestitureofBusinesses_f2e4873d-79d7-2f60-06e1-f96b5b17326a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_deb49b68-c030-7624-a39d-ea301caa5dbf" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_dd2e9db6-10f9-d78a-ba84-b18268245a83" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_deb49b68-c030-7624-a39d-ea301caa5dbf" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_d59a921e-6301-0411-46e6-49b6a981f8a0" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_deb49b68-c030-7624-a39d-ea301caa5dbf" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_d59a921e-6301-0411-46e6-49b6a981f8a0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_8a1490c4-32d9-5132-1fe2-2675a45abdae" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_deb49b68-c030-7624-a39d-ea301caa5dbf" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_8a1490c4-32d9-5132-1fe2-2675a45abdae" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_6f80ca9e-82d0-f056-a403-c4914c1ce379" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_deb49b68-c030-7624-a39d-ea301caa5dbf" xlink:to="loc_us-gaap_PaymentsOfDividendsCommonStock_6f80ca9e-82d0-f056-a403-c4914c1ce379" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_8629a772-7004-5d77-9980-0f501e29c5c8" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_dd2e9db6-10f9-d78a-ba84-b18268245a83" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_8629a772-7004-5d77-9980-0f501e29c5c8" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_499015ce-2160-aed2-85a3-080e8c4c6cdf" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_641b1cab-a2b3-2e0e-8389-1455ff3f8581" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_499015ce-2160-aed2-85a3-080e8c4c6cdf" xlink:to="loc_us-gaap_NetIncomeLoss_641b1cab-a2b3-2e0e-8389-1455ff3f8581" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_72d12753-e25c-cdc0-88b6-98db8d7b7fae" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_499015ce-2160-aed2-85a3-080e8c4c6cdf" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_72d12753-e25c-cdc0-88b6-98db8d7b7fae" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_cc7c59d2-21ac-163e-0898-1c1f212ef02b" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_72d12753-e25c-cdc0-88b6-98db8d7b7fae" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_cc7c59d2-21ac-163e-0898-1c1f212ef02b" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_6feed690-17e1-a928-d1c5-204f2faa570e" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_cc7c59d2-21ac-163e-0898-1c1f212ef02b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_6feed690-17e1-a928-d1c5-204f2faa570e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_aa99f772-8337-cbc2-0b89-25fbb3108271" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_cc7c59d2-21ac-163e-0898-1c1f212ef02b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_aa99f772-8337-cbc2-0b89-25fbb3108271" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_e78780a0-37a6-d85b-a453-be28b7843e2c" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_72d12753-e25c-cdc0-88b6-98db8d7b7fae" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_e78780a0-37a6-d85b-a453-be28b7843e2c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_57e8ae74-d8b6-c629-9bee-2d0929cd3999" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_e78780a0-37a6-d85b-a453-be28b7843e2c" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_57e8ae74-d8b6-c629-9bee-2d0929cd3999" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_ab3008c3-c5c2-a86b-0613-39cbd9b94527" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_e78780a0-37a6-d85b-a453-be28b7843e2c" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_ab3008c3-c5c2-a86b-0613-39cbd9b94527" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_351eeed0-a987-88e4-c007-095f3644ffff" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_72d12753-e25c-cdc0-88b6-98db8d7b7fae" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_351eeed0-a987-88e4-c007-095f3644ffff" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_29cb4575-1df0-23a0-aea0-70de299da05c" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_0eb47183-f513-314d-ceda-ee2412d9eee8" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperations_29cb4575-1df0-23a0-aea0-70de299da05c" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_0eb47183-f513-314d-ceda-ee2412d9eee8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_9894e895-7695-402a-9f03-08d60b7373b8" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_0eb47183-f513-314d-ceda-ee2412d9eee8" xlink:to="loc_us-gaap_OperatingIncomeLoss_9894e895-7695-402a-9f03-08d60b7373b8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_aaae347c-fa91-e2c3-dd05-1b008b13fd0c" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_9894e895-7695-402a-9f03-08d60b7373b8" xlink:to="loc_us-gaap_GrossProfit_aaae347c-fa91-e2c3-dd05-1b008b13fd0c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueNet" xlink:label="loc_us-gaap_SalesRevenueNet_ff017a48-8743-bfac-8af0-ca31401cb6de" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_aaae347c-fa91-e2c3-dd05-1b008b13fd0c" xlink:to="loc_us-gaap_SalesRevenueNet_ff017a48-8743-bfac-8af0-ca31401cb6de" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_53981114-ea4f-c85d-1ee7-90421fdccca2" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_aaae347c-fa91-e2c3-dd05-1b008b13fd0c" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_53981114-ea4f-c85d-1ee7-90421fdccca2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_25ae5ce2-b413-b975-9a84-c7503d2496cf" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_9894e895-7695-402a-9f03-08d60b7373b8" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_25ae5ce2-b413-b975-9a84-c7503d2496cf" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_29ad42f4-24c5-90ea-4492-fdb757d66249" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_9894e895-7695-402a-9f03-08d60b7373b8" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_29ad42f4-24c5-90ea-4492-fdb757d66249" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_303ce027-35e0-90c6-b665-c64d3c33d4e9" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_0eb47183-f513-314d-ceda-ee2412d9eee8" xlink:to="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_303ce027-35e0-90c6-b665-c64d3c33d4e9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_6d011e0e-8a4d-ead4-8ae2-208e1f9abb48" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_0eb47183-f513-314d-ceda-ee2412d9eee8" xlink:to="loc_us-gaap_InvestmentIncomeNonoperating_6d011e0e-8a4d-ead4-8ae2-208e1f9abb48" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_250c3b2f-7db5-7088-68cc-1dd831a2c2d7" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_0eb47183-f513-314d-ceda-ee2412d9eee8" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_250c3b2f-7db5-7088-68cc-1dd831a2c2d7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_78b7d85e-8366-fe6d-cb1f-faac5a041b79" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperations_29cb4575-1df0-23a0-aea0-70de299da05c" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_78b7d85e-8366-fe6d-cb1f-faac5a041b79" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstruments" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_a3ccd28b-d904-f2d6-d218-02006f748e50" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_5296452d-3ce9-bd2f-2a62-9643805fc6ab" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeLiabilities_a3ccd28b-d904-f2d6-d218-02006f748e50" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_5296452d-3ce9-bd2f-2a62-9643805fc6ab" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_c158f5f4-cf9a-a27f-1343-bbeaf55efdf3" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeLiabilities_a3ccd28b-d904-f2d6-d218-02006f748e50" xlink:to="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_c158f5f4-cf9a-a27f-1343-bbeaf55efdf3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_990d24f7-bf09-089d-4b5d-4490e079db44" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_62eb8c59-8348-bd48-683f-a9f1d164ff20" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeAssets_990d24f7-bf09-089d-4b5d-4490e079db44" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_62eb8c59-8348-bd48-683f-a9f1d164ff20" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_f0ed1dd6-b12a-9bb9-127d-50ae9f099faa" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeAssets_990d24f7-bf09-089d-4b5d-4490e079db44" xlink:to="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_f0ed1dd6-b12a-9bb9-127d-50ae9f099faa" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/DocumentAndEntityInformation" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/FairValueMeasurements" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/IntangibleAssets" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_49187b45-82fd-7060-b114-79ff249a4331" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_5d62e128-f1a1-954f-82e2-1936cb67d793" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_5d62e128-f1a1-954f-82e2-1936cb67d793" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_c3ed8a56-abe0-6418-c541-e6b647d6318a" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_c3ed8a56-abe0-6418-c541-e6b647d6318a" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetailsCalc2" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_21A6236FEF299916A750040F8722C1AB_49187b45-82fd-7060-b114-79ff249a4331" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_21A6236FEF299916A750040F8722C1AB_eddc9cd1-842c-4ab4-6a14-582ff2d019b0" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_21A6236FEF299916A750040F8722C1AB_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_21A6236FEF299916A750040F8722C1AB_eddc9cd1-842c-4ab4-6a14-582ff2d019b0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_21A6236FEF299916A750040F8722C1AB_e44a1606-1eda-278a-1c39-e2fcbf96f248" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_21A6236FEF299916A750040F8722C1AB_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_21A6236FEF299916A750040F8722C1AB_e44a1606-1eda-278a-1c39-e2fcbf96f248" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_21A6236FEF299916A750040F8722C1AB_6a8745e2-e4b9-1a92-2a4b-72abaf326824" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_21A6236FEF299916A750040F8722C1AB_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_21A6236FEF299916A750040F8722C1AB_6a8745e2-e4b9-1a92-2a4b-72abaf326824" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_21A6236FEF299916A750040F8722C1AB_ceebb9d8-94b3-173f-0af1-6bad40ca326c" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_21A6236FEF299916A750040F8722C1AB_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_21A6236FEF299916A750040F8722C1AB_ceebb9d8-94b3-173f-0af1-6bad40ca326c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_21A6236FEF299916A750040F8722C1AB_b5e743d1-f009-54c0-57f0-4a30eb0e9bab" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_21A6236FEF299916A750040F8722C1AB_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_21A6236FEF299916A750040F8722C1AB_b5e743d1-f009-54c0-57f0-4a30eb0e9bab" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix" xlink:label="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_21A6236FEF299916A750040F8722C1AB_E5EAA52EB164ED84CD1F040D1DDFB4E4" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_21A6236FEF299916A750040F8722C1AB_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_21A6236FEF299916A750040F8722C1AB_E5EAA52EB164ED84CD1F040D1DDFB4E4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix" xlink:label="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_21A6236FEF299916A750040F8722C1AB_2BFEA270ED44DE222D35040DDAB9EE94" xlink:type="locator" />
    <link:calculationArc order="7" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_21A6236FEF299916A750040F8722C1AB_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_21A6236FEF299916A750040F8722C1AB_2BFEA270ED44DE222D35040DDAB9EE94" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/Inventories" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_7eab44cf-1ea1-ca2a-420f-21f7b5343fc3" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_d8866e11-7330-6a9a-9ba0-56d88707d8ec" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_7eab44cf-1ea1-ca2a-420f-21f7b5343fc3" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_d8866e11-7330-6a9a-9ba0-56d88707d8ec" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_a3451b87-a72a-9fff-128b-969b95aecb3a" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_7eab44cf-1ea1-ca2a-420f-21f7b5343fc3" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_a3451b87-a72a-9fff-128b-969b95aecb3a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_b077ba6e-d590-fd28-6cc4-ab52e924ed70" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_7eab44cf-1ea1-ca2a-420f-21f7b5343fc3" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_b077ba6e-d590-fd28-6cc4-ab52e924ed70" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/InventoriesTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/NewPronouncements" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/RevenueRecognition" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgram" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/SubsequentEvents" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/SubsequentEventsDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/Taxes" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/TaxesDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8712fd02-171c-5995-3f18-84e885c380b9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_29919d14-72a3-6197-982a-3a6269f21038" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_29919d14-72a3-6197-982a-3a6269f21038" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_c48cf597-7f94-3186-bb2a-448703ee500e" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_c48cf597-7f94-3186-bb2a-448703ee500e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_744a85ef-de6a-dc1b-540c-cd37e4ee0e8e" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_744a85ef-de6a-dc1b-540c-cd37e4ee0e8e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_bd3fb4a2-dba4-9f41-2b9f-30441850eb67" xlink:type="locator" />
    <link:calculationArc order="4" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_bd3fb4a2-dba4-9f41-2b9f-30441850eb67" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_CABE671DD5FDD2CC69AB08E8947CC139" xlink:type="locator" />
    <link:calculationArc order="5" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_CABE671DD5FDD2CC69AB08E8947CC139" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_8718aa1e-c40a-73dd-11d3-b6a4475e0d37" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_8718aa1e-c40a-73dd-11d3-b6a4475e0d37" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_e076fca2-751d-53ee-27b4-64a5b6f5b217" xlink:type="locator" />
    <link:calculationArc order="7" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_e076fca2-751d-53ee-27b4-64a5b6f5b217" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/TaxesTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/WarrantyObligations" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/WarrantyObligationsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/WeightedAverageShares" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_223fd9c8-68e8-e433-7c40-f98b238e79de" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_86e61cf2-b7b2-e230-65f1-5a2b152f3a30" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_223fd9c8-68e8-e433-7c40-f98b238e79de" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_86e61cf2-b7b2-e230-65f1-5a2b152f3a30" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_7b1369dd-f813-fe00-b292-96e275568f1b" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_223fd9c8-68e8-e433-7c40-f98b238e79de" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_7b1369dd-f813-fe00-b292-96e275568f1b" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:type="extended" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>10
<FILENAME>cgnx-20180401_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestments" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:href="cgnx-20180401.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="cgnx-20180401.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementOfShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstruments" xlink:href="cgnx-20180401.xsd#DerivativeInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DocumentAndEntityInformation" xlink:href="cgnx-20180401.xsd#DocumentAndEntityInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurements" xlink:href="cgnx-20180401.xsd#FairValueMeasurements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:href="cgnx-20180401.xsd#FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:href="cgnx-20180401.xsd#FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:href="cgnx-20180401.xsd#FairValueMeasurementsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssets" xlink:href="cgnx-20180401.xsd#IntangibleAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:href="cgnx-20180401.xsd#IntangibleAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsTables" xlink:href="cgnx-20180401.xsd#IntangibleAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Inventories" xlink:href="cgnx-20180401.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:href="cgnx-20180401.xsd#InventoriesScheduleOfInventoriesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesTables" xlink:href="cgnx-20180401.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/NewPronouncements" xlink:href="cgnx-20180401.xsd#NewPronouncements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognition" xlink:href="cgnx-20180401.xsd#RevenueRecognition" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionDetails" xlink:href="cgnx-20180401.xsd#RevenueRecognitionDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionTables" xlink:href="cgnx-20180401.xsd#RevenueRecognitionTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpense" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgram" xlink:href="cgnx-20180401.xsd#StockRepurchaseProgram" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:href="cgnx-20180401.xsd#StockRepurchaseProgramDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEvents" xlink:href="cgnx-20180401.xsd#SubsequentEvents" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEventsDetails" xlink:href="cgnx-20180401.xsd#SubsequentEventsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="cgnx-20180401.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="cgnx-20180401.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Taxes" xlink:href="cgnx-20180401.xsd#Taxes" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesDetail" xlink:href="cgnx-20180401.xsd#TaxesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:href="cgnx-20180401.xsd#TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesTables" xlink:href="cgnx-20180401.xsd#TaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligations" xlink:href="cgnx-20180401.xsd#WarrantyObligations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:href="cgnx-20180401.xsd#WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsTables" xlink:href="cgnx-20180401.xsd#WarrantyObligationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageShares" xlink:href="cgnx-20180401.xsd#WeightedAverageShares" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:href="cgnx-20180401.xsd#WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:href="cgnx-20180401.xsd#WeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:href="cgnx-20180401.xsd#WeightedAverageSharesTables" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestments" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_091F6647534D04CA43DB03C8163FDFC8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_091F6647534D04CA43DB03C8163FDFC8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_A8FA37AB561C48708FC203C816408B49" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_A8FA37AB561C48708FC203C816408B49" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_7B2770E761866EDA141703C81640B087" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_7B2770E761866EDA141703C81640B087" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="loc_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_5D083CAF2D696D79269203C81640A1F5" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_5D083CAF2D696D79269203C81640A1F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_03929D3444E1D170622303C816404B5A" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="loc_us-gaap_MunicipalBondsMember_03929D3444E1D170622303C816404B5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_8D96188B1F0E9D93CA6203C81640833A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_Cash_8D96188B1F0E9D93CA6203C81640833A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_34E5FAEFD29DC28F4EB503C81640B733" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_34E5FAEFD29DC28F4EB503C81640B733" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_62F744B5E6F31076D4F703C81640EE60" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_62F744B5E6F31076D4F703C81640EE60" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8AA05CCDA43FFF31007803C81640F306" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8AA05CCDA43FFF31007803C81640F306" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_7C741C6A6A90D6EE9C1603C8164064A9" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_7C741C6A6A90D6EE9C1603C8164064A9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_2B117EFDEBF40B7FFE2003C816407885" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_LongTermInvestments_2B117EFDEBF40B7FFE2003C816407885" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DFD7F58452B4E86EDDC003C8162EFAB0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DFD7F58452B4E86EDDC003C8162EFAB0" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_0213DEF5CDBC1E70340003C8162FE169" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DFD7F58452B4E86EDDC003C8162EFAB0" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_0213DEF5CDBC1E70340003C8162FE169" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_0213DEF5CDBC1E70340003C8162FE169" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_0213DEF5CDBC1E70340003C8162FE169" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_857FF35068994465108103C8162F58E5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_857FF35068994465108103C8162F58E5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_1662622B556D8C0CCFFD03C8162F1DFA" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_1662622B556D8C0CCFFD03C8162F1DFA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_B52CD224656B5E83359103C8162F2A78" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_B52CD224656B5E83359103C8162F2A78" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_18A3D054A1AA052CFDA603C8162FC4E1" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_18A3D054A1AA052CFDA603C8162FC4E1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_5E555A9F3D387E38AED703C8162FF701" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:to="loc_us-gaap_MunicipalBondsMember_5E555A9F3D387E38AED703C8162FF701" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_830D565E412841EA35D603C8162F4B38" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:to="loc_cgnx_AgencyBondsMember_830D565E412841EA35D603C8162F4B38" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_33EDCB6FB80CCD334A1C03C8162F185F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_33EDCB6FB80CCD334A1C03C8162F185F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_FC41CA2B7DD8A71455A403C8162FE0A4" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_FC41CA2B7DD8A71455A403C8162FE0A4" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9C524759DB70EA9F4ABD03C816326374" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9C524759DB70EA9F4ABD03C816326374" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_5C3CC038925A9A8601EF03C81632D717" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9C524759DB70EA9F4ABD03C816326374" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_5C3CC038925A9A8601EF03C81632D717" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_5C3CC038925A9A8601EF03C81632D717" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_5C3CC038925A9A8601EF03C81632D717" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_4200D8FAC09F3821601C03C81633744E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_4200D8FAC09F3821601C03C81633744E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_7F68221384191EFD51F603C816334CCC" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_7F68221384191EFD51F603C816334CCC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_6BA41C55DD9C5A0E8A2B03C816333C4B" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_6BA41C55DD9C5A0E8A2B03C816333C4B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_05BD8D52312E48EAC56103C816337BBE" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_05BD8D52312E48EAC56103C816337BBE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_D66591FBFA102A8A6AA003C8163363A5" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:to="loc_us-gaap_MunicipalBondsMember_D66591FBFA102A8A6AA003C8163363A5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_B9C6F7809AF5586EEF8203C81633979D" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:to="loc_cgnx_AgencyBondsMember_B9C6F7809AF5586EEF8203C81633979D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_FE61D84DC9F44F2A006203C8163384DB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_FE61D84DC9F44F2A006203C8163384DB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_487F974B2D33F6BD14EF03C81633CBF5" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_487F974B2D33F6BD14EF03C81633CBF5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_01B49248991E7628F3A803C81633EC7A" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_01B49248991E7628F3A803C81633EC7A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_D8260F635EE9F37D499603C816338498" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_D8260F635EE9F37D499603C816338498" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_56BE00C43D76D2974BCB03C816332610" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_56BE00C43D76D2974BCB03C816332610" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1625917C5F8E92AD8EF003C81633D115" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1625917C5F8E92AD8EF003C81633D115" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F798D730028EF85A22BF03C816385C3D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_1A5DEB52F8B31E47C41703C81637416E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F798D730028EF85A22BF03C816385C3D" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_1A5DEB52F8B31E47C41703C81637416E" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_3F1C7A9C5B086F78AD8003C8163766A2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_1A5DEB52F8B31E47C41703C81637416E" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_3F1C7A9C5B086F78AD8003C8163766A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_3F1C7A9C5B086F78AD8003C8163766A2" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_3F1C7A9C5B086F78AD8003C8163766A2" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_906CA00D0C7BC43AE84003C81637F00B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_906CA00D0C7BC43AE84003C81637F00B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_1526ED710A600567C49B03C816381DCB" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_1526ED710A600567C49B03C816381DCB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_529DCD5087E920DAEBD803C81637F46A" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_529DCD5087E920DAEBD803C81637F46A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_1404310A7CB596EF50DC03C816389254" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:to="loc_us-gaap_MunicipalBondsMember_1404310A7CB596EF50DC03C816389254" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_62DAE4CDFAA30FA1992603C8163809B6" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_62DAE4CDFAA30FA1992603C8163809B6" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_439512C2A45049536C6D03C81638B05B" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:to="loc_cgnx_AgencyBondsMember_439512C2A45049536C6D03C81638B05B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeAxis" xlink:label="loc_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_1A5DEB52F8B31E47C41703C81637416E" xlink:to="loc_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShortTermInvestmentsMember" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_1CABE9353B0A27C146E703C816385CFD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:to="loc_us-gaap_ShortTermInvestmentsMember_1CABE9353B0A27C146E703C816385CFD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_LongTermInvestmentsMember" xlink:label="loc_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:to="loc_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6372B78CD1C61386B18A03C81638C25D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F798D730028EF85A22BF03C816385C3D" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6372B78CD1C61386B18A03C81638C25D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_002629E0BF9CC5CE597503C81638E7C3" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F798D730028EF85A22BF03C816385C3D" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_002629E0BF9CC5CE597503C81638E7C3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_69BFB422428741C3F15703C8163847E4" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F798D730028EF85A22BF03C816385C3D" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_69BFB422428741C3F15703C8163847E4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecurities_BB3CBC62F571064F9DD203C8163834E3" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F798D730028EF85A22BF03C816385C3D" xlink:to="loc_us-gaap_AvailableForSaleSecurities_BB3CBC62F571064F9DD203C8163834E3" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D" xlink:to="loc_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F" xlink:to="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F" xlink:to="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_02638F9D2EE7AABB94FE03C816870099" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:to="loc_us-gaap_CommonStockMember_02638F9D2EE7AABB94FE03C816870099" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_08ACF6070B5F40F7FE8203C816875299" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_08ACF6070B5F40F7FE8203C816875299" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_1785EA2BB92FCEAE492A03C816874E72" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:to="loc_us-gaap_RetainedEarningsMember_1785EA2BB92FCEAE492A03C816874E72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7CC2E272F96A358B692303C816873F0B" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7CC2E272F96A358B692303C816873F0B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_658A6DF523319D9AE83E03C8168768CE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_CommonStockSharesIssued_658A6DF523319D9AE83E03C8168768CE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_A2672811BB0ADFE88EB103C81687BB90" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_StockholdersEquity_A2672811BB0ADFE88EB103C81687BB90" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_0862DA0C25BDEC46320D03C816870F96" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_0862DA0C25BDEC46320D03C816870F96" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_AC68BF78F77F2AFF6B4903C81687D4FE" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_AC68BF78F77F2AFF6B4903C81687D4FE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_C615C3615706A4F79BA603C816875002" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_C615C3615706A4F79BA603C816875002" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_D617B51F8586362E945C03C816877286" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_D617B51F8586362E945C03C816877286" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BC4B578041E93B2BFCC803C81687E490" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BC4B578041E93B2BFCC803C81687E490" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendsCash" xlink:label="loc_us-gaap_DividendsCash_F78B4AEF7D4AF5C34F8803C816885027" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_DividendsCash_F78B4AEF7D4AF5C34F8803C816885027" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_3026BFE2898E4D5687A203D67AF20F9A" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_3026BFE2898E4D5687A203D67AF20F9A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_FFED928A87188B230EBD03C816880F1F" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_NetIncomeLoss_FFED928A87188B230EBD03C816880F1F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_045016614AD63551913503C8168843DA" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_045016614AD63551913503C8168843DA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_80B734B08ABD9B6BD53503C816886125" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_80B734B08ABD9B6BD53503C816886125" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_537802FFA291CC7B89F303C8168829C7" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_537802FFA291CC7B89F303C8168829C7" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstruments" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:to="loc_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45" xlink:to="loc_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45" xlink:to="loc_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_BF608D9FAAF030620C48F96C1200CE7C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_BF608D9FAAF030620C48F96C1200CE7C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_6E7E196FCCA82FCBD0C3F96C12001C24" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:to="loc_us-gaap_NondesignatedMember_6E7E196FCCA82FCBD0C3F96C12001C24" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="loc_us-gaap_CashFlowHedgingMember_8536C80CBB13248A0EF3F96C12001A8C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:to="loc_us-gaap_CashFlowHedgingMember_8536C80CBB13248A0EF3F96C12001A8C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueGoodsNetMember" xlink:label="loc_us-gaap_SalesRevenueGoodsNetMember_8C52A06226920829AF22F96C12003F1B" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:to="loc_us-gaap_SalesRevenueGoodsNetMember_8C52A06226920829AF22F96C12003F1B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_2AF09A9BB6A9DD8201E4F96C12007410" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_2AF09A9BB6A9DD8201E4F96C12007410" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_B11CD94ADAD52FF98CEEF96C12009D0D" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpenseMember_B11CD94ADAD52FF98CEEF96C12009D0D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyGainLossMember" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_B9DFD725B34352F27E7FF96C1200940E" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:to="loc_us-gaap_ForeignCurrencyGainLossMember_B9DFD725B34352F27E7FF96C1200940E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_FB2F478114FA87FF8398F96C1200636A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_FB2F478114FA87FF8398F96C1200636A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_6ED0BD208D64267790AFF96C120046A2" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_6ED0BD208D64267790AFF96C120046A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_F7BA4E1C697539E57C57F96C1200BE85" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_F7BA4E1C697539E57C57F96C1200BE85" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_DC77654C1FC24F7C3B20F96C1200DFA6" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_DC77654C1FC24F7C3B20F96C1200DFA6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_2CF9BCDBEF50B424F710F96C12007726" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:to="loc_us-gaap_DerivativeGainLossOnDerivativeNet_2CF9BCDBEF50B424F710F96C12007726" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_C062CC429BB8C366B50B03C815E3C73E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C" xlink:to="loc_us-gaap_HedgingDesignationAxis_C062CC429BB8C366B50B03C815E3C73E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_73C556B21D891592090503C815E31587_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_C062CC429BB8C366B50B03C815E3C73E" xlink:to="loc_us-gaap_HedgingDesignationDomain_73C556B21D891592090503C815E31587_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_73C556B21D891592090503C815E31587" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_C062CC429BB8C366B50B03C815E3C73E" xlink:to="loc_us-gaap_HedgingDesignationDomain_73C556B21D891592090503C815E31587" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_5C41301B8246523848F003C815E4A435" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_73C556B21D891592090503C815E31587" xlink:to="loc_us-gaap_NondesignatedMember_5C41301B8246523848F003C815E4A435" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_18C4C651D783048B75F903C815E4CAC4" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_73C556B21D891592090503C815E31587" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_18C4C651D783048B75F903C815E4CAC4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:label="loc_us-gaap_DerivativeNumberOfInstrumentsHeld_2970DBB912431A6BFEAD03C815E41EC2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:to="loc_us-gaap_DerivativeNumberOfInstrumentsHeld_2970DBB912431A6BFEAD03C815E41EC2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E55FFC5D230792FFE44603C815E445B5" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:to="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E55FFC5D230792FFE44603C815E445B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1" xlink:label="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_89309B1A03D81A0B6C9E03C815E4CC55" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:to="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_89309B1A03D81A0B6C9E03C815E4CC55" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308" xlink:to="loc_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_857B8A040935D29E1A0303C815D6AA72" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:to="loc_us-gaap_HedgingDesignationAxis_857B8A040935D29E1A0303C815D6AA72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_97219AF60C81DF77AA8003C815D68366_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_857B8A040935D29E1A0303C815D6AA72" xlink:to="loc_us-gaap_HedgingDesignationDomain_97219AF60C81DF77AA8003C815D68366_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_97219AF60C81DF77AA8003C815D68366" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_857B8A040935D29E1A0303C815D6AA72" xlink:to="loc_us-gaap_HedgingDesignationDomain_97219AF60C81DF77AA8003C815D68366" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_8E438FFE3BE4C91F93CE03C815D6FCCC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_97219AF60C81DF77AA8003C815D68366" xlink:to="loc_us-gaap_NondesignatedMember_8E438FFE3BE4C91F93CE03C815D6FCCC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CurrencyAxis" xlink:label="loc_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:to="loc_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_AllCurrenciesDomain" xlink:label="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700" xlink:to="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_AllCurrenciesDomain" xlink:label="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700" xlink:to="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_JPY" xlink:label="loc_currency_JPY_17741671DC7A1F3927BD03C815D7552F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="loc_currency_JPY_17741671DC7A1F3927BD03C815D7552F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_CHF" xlink:label="loc_currency_CHF_AD1F154A1B0B1B1E43C70417849FD033" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="loc_currency_CHF_AD1F154A1B0B1B1E43C70417849FD033" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_GBP" xlink:label="loc_currency_GBP_CD0980D798E3F8D566FE03C815D72904" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="loc_currency_GBP_CD0980D798E3F8D566FE03C815D72904" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_HUF" xlink:label="loc_currency_HUF_D68898EC3746B6DA5E7403C815D78B5A" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="loc_currency_HUF_D68898EC3746B6DA5E7403C815D78B5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_TWD" xlink:label="loc_currency_TWD_3B3EAF0C2989E50D492B03C815D7C3EA" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="loc_currency_TWD_3B3EAF0C2989E50D492B03C815D7C3EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_KRW" xlink:label="loc_currency_KRW_540E111D71AD7A4A0F6B03C815D78EF4" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="loc_currency_KRW_540E111D71AD7A4A0F6B03C815D78EF4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssetNotionalAmount" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_A8784E3020C0F8AB036403C815D76B94" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308" xlink:to="loc_us-gaap_DerivativeAssetNotionalAmount_A8784E3020C0F8AB036403C815D76B94" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:to="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_D263357AEC1390AE1054F96C1213FC44" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:to="loc_us-gaap_HedgingDesignationAxis_D263357AEC1390AE1054F96C1213FC44" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_9FBA0FE0A6A128B21F5FF96C12134690_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_D263357AEC1390AE1054F96C1213FC44" xlink:to="loc_us-gaap_HedgingDesignationDomain_9FBA0FE0A6A128B21F5FF96C12134690_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_9FBA0FE0A6A128B21F5FF96C12134690" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_D263357AEC1390AE1054F96C1213FC44" xlink:to="loc_us-gaap_HedgingDesignationDomain_9FBA0FE0A6A128B21F5FF96C12134690" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_ACC9D29A4581D630AFF3F96C12137380" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_9FBA0FE0A6A128B21F5FF96C12134690" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_ACC9D29A4581D630AFF3F96C12137380" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_9A5779300DBD8ADC3741F96C12132CBD" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_9FBA0FE0A6A128B21F5FF96C12134690" xlink:to="loc_us-gaap_NondesignatedMember_9A5779300DBD8ADC3741F96C12132CBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9FCEBB268BB8050A06D8F96C121303DD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9FCEBB268BB8050A06D8F96C121303DD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AccruedExpensesMember" xlink:label="loc_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:to="loc_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_12983BAA886CABE2FB2FF96C1213484F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:to="loc_us-gaap_DerivativeAssets_12983BAA886CABE2FB2FF96C1213484F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_DAD7F3C5C5BFCCB359F7F96C121418EA" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:to="loc_us-gaap_DerivativeLiabilities_DAD7F3C5C5BFCCB359F7F96C121418EA" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/DocumentAndEntityInformation" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/FairValueMeasurements" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_1A36952038422C5F619703C8167B0129" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_1A36952038422C5F619703C8167B0129" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_009545D098D2529644DC03C8167B9B6E_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_1A36952038422C5F619703C8167B0129" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_009545D098D2529644DC03C8167B9B6E_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_009545D098D2529644DC03C8167B9B6E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_1A36952038422C5F619703C8167B0129" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_009545D098D2529644DC03C8167B9B6E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_4E8992CB62EA4B9FC70303C8167BDE73" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_009545D098D2529644DC03C8167B9B6E" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_4E8992CB62EA4B9FC70303C8167BDE73" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_830C751659798A9D845D03C8167AF65A" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_830C751659798A9D845D03C8167AF65A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2CBD49DBCA0EA465647503C8167A0288_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_830C751659798A9D845D03C8167AF65A" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2CBD49DBCA0EA465647503C8167A0288_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2CBD49DBCA0EA465647503C8167A0288" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_830C751659798A9D845D03C8167AF65A" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2CBD49DBCA0EA465647503C8167A0288" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_3A0A8568A357645BD5AB03C8167AB615" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2CBD49DBCA0EA465647503C8167A0288" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_3A0A8568A357645BD5AB03C8167AB615" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_207584C7952856339BD703C8167BD9BA" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2CBD49DBCA0EA465647503C8167A0288" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_207584C7952856339BD703C8167BD9BA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_CADE8151DD2352994F0F03C8167B8826" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2CBD49DBCA0EA465647503C8167A0288" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_CADE8151DD2352994F0F03C8167B8826" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_EA07D457A18DEEE0972B03C8167B2A83" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_EA07D457A18DEEE0972B03C8167B2A83" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_EA07D457A18DEEE0972B03C8167B2A83" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_EA07D457A18DEEE0972B03C8167B2A83" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_A07F573B51405AD0652503C8167BA346" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_A07F573B51405AD0652503C8167BA346" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_A831C5C3D20FB231036203C8167B4BE4" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_A831C5C3D20FB231036203C8167B4BE4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_5476AA43C16AC763A2E103C8167B3B70" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_5476AA43C16AC763A2E103C8167B3B70" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_F9C383C37AEC60C04B9703C8167B34FB" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_F9C383C37AEC60C04B9703C8167B34FB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_29F79A738D2862AC096D03C8167B2042" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:to="loc_us-gaap_MunicipalBondsMember_29F79A738D2862AC096D03C8167B2042" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_98860FBDD9805B5D493003C8167BF4AB" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:to="loc_cgnx_AgencyBondsMember_98860FBDD9805B5D493003C8167BF4AB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:to="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_D42F8A543B1F00F3A2AE03C8167BEB0D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_D42F8A543B1F00F3A2AE03C8167BEB0D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ADFAB1B8CECF35369CF203C8167C3EBD" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ADFAB1B8CECF35369CF203C8167C3EBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue" xlink:label="loc_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_8C2888ADAEF97D99500603C8167C3536" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:to="loc_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_8C2888ADAEF97D99500603C8167C3536" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_F303F35880C26A5BD75903C8167C38A2" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:to="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_F303F35880C26A5BD75903C8167C38A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue" xlink:label="loc_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue_C225E1C172D5563CF8EB03C8167CD0E8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:to="loc_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue_C225E1C172D5563CF8EB03C8167CD0E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_B845DD6383D932AF763303C8167CBF2C" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_B845DD6383D932AF763303C8167CBF2C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_9813CCD96818DDCE28B203C8167C7F90" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_9813CCD96818DDCE28B203C8167C7F90" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_3D42CF2250509DA5086403C81648E9CD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_3D42CF2250509DA5086403C81648E9CD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_FDDBC2BC5F56E1EF003003C81648FAC5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_FDDBC2BC5F56E1EF003003C81648FAC5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="loc_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:to="loc_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8" xlink:to="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8" xlink:to="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ManateeContingentConsiderationMember" xlink:label="loc_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:to="loc_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ChiaroContingentConsiderationMember" xlink:label="loc_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:to="loc_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_GVIContingentConsiderationMember" xlink:label="loc_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:to="loc_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_772DE4B14CD5A531AD2703C81648D811" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_772DE4B14CD5A531AD2703C81648D811" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesFairValueAdjustment" xlink:label="loc_us-gaap_LiabilitiesFairValueAdjustment_B62FF19F0DBD8B1A039703C81648C6A9" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:to="loc_us-gaap_LiabilitiesFairValueAdjustment_B62FF19F0DBD8B1A039703C81648C6A9" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/IntangibleAssets" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_AD50F761D10B93C98FB70406986F8B0E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:to="loc_us-gaap_DistributionRightsMember_AD50F761D10B93C98FB70406986F8B0E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_70F0D3AFAEAC371DEE160407397626B4" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:to="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_70F0D3AFAEAC371DEE160407397626B4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_9832B6BA1BABBCFD80740407A4B3D1B8" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:to="loc_us-gaap_CustomerRelationshipsMember_9832B6BA1BABBCFD80740407A4B3D1B8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_12D03FC2D9650986F54404081985AAC5" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_12D03FC2D9650986F54404081985AAC5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_6F8308BBEDA48DC6C442040445A03722" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_6F8308BBEDA48DC6C442040445A03722" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5772E7CB09DA3D65A57E0404C7D17FCC" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5772E7CB09DA3D65A57E0404C7D17FCC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_188BB48D5A5A6F4E106204050E75A3A1" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_188BB48D5A5A6F4E106204050E75A3A1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_C82A3905677D9FAC7D80040AA2561AD9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_C82A3905677D9FAC7D80040AA2561AD9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A3970D4D1EDC3E836C74040B256D0847" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A3970D4D1EDC3E836C74040B256D0847" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_5AFC1BFDD3437804AF6D040B8340BD0D" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_5AFC1BFDD3437804AF6D040B8340BD0D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_AEBC9F7DF43632C863D6040BD25AA070" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_AEBC9F7DF43632C863D6040BD25AA070" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_57290D75F13626F3C12D040C42FC55BD" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_57290D75F13626F3C12D040C42FC55BD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix" xlink:label="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix" xlink:label="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/IntangibleAssetsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/Inventories" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/InventoriesTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/NewPronouncements" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/RevenueRecognition" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/RevenueRecognitionDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="loc_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:to="loc_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="loc_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94" xlink:to="loc_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="loc_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94" xlink:to="loc_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScenarioPreviouslyReportedMember" xlink:label="loc_us-gaap_ScenarioPreviouslyReportedMember_5E451B452045789BFC6D16B40C39ABF5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:to="loc_us-gaap_ScenarioPreviouslyReportedMember_5E451B452045789BFC6D16B40C39ABF5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RestatementAdjustmentMember" xlink:label="loc_us-gaap_RestatementAdjustmentMember_343366F2DB6E3D038EE316B40C391136" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:to="loc_us-gaap_RestatementAdjustmentMember_343366F2DB6E3D038EE316B40C391136" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementGeographicalAxis" xlink:label="loc_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:to="loc_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7" xlink:to="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7" xlink:to="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_NorthAndSouthAmericaMember" xlink:label="loc_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:to="loc_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EuropeMember" xlink:label="loc_us-gaap_EuropeMember_20E75EC9C0534F89958516B40C3A2D4D" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:to="loc_us-gaap_EuropeMember_20E75EC9C0534F89958516B40C3A2D4D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CN" xlink:label="loc_country_CN_65A7E0A75FBF9250E45D16B40C3AB8F4" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:to="loc_country_CN_65A7E0A75FBF9250E45D16B40C3AB8F4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AsiaExcludingChinaMember" xlink:label="loc_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:to="loc_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductOrServiceAxis" xlink:label="loc_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:to="loc_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductsAndServicesDomain" xlink:label="loc_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7" xlink:to="loc_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductsAndServicesDomain" xlink:label="loc_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7" xlink:to="loc_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_StandardProductsandServicesMember" xlink:label="loc_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:to="loc_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ApplicationSpecificCustomerSolutionsMember" xlink:label="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:to="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueNet" xlink:label="loc_us-gaap_SalesRevenueNet_214C848BE5A1C4E0B34616B40C3A479E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_SalesRevenueNet_214C848BE5A1C4E0B34616B40C3A479E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_19326F42F3EEE2181C4516B40C3B36A7" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_19326F42F3EEE2181C4516B40C3B36A7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_B20228B8B6BC97E748AA16B40C3B356F" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_GrossProfit_B20228B8B6BC97E748AA16B40C3B356F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_500CB2E6368EA5533EB216B40C3BF274" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_OperatingIncomeLoss_500CB2E6368EA5533EB216B40C3BF274" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_8BD0675154E0EE38EDC516B40C3B8F14" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_8BD0675154E0EE38EDC516B40C3B8F14" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_5AF2F30CB4326C2D2A2816B40C3BA9A3" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_5AF2F30CB4326C2D2A2816B40C3BA9A3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_4F98619C1DAF136157EA16B40C3BFFFE" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperations_4F98619C1DAF136157EA16B40C3BFFFE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_B489C44BA3FA440BB69816B40C3B1B60" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_EarningsPerShareBasic_B489C44BA3FA440BB69816B40C3B1B60" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_00392C9AB88FFF4B458B16B40C3B1F82" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_EarningsPerShareDiluted_00392C9AB88FFF4B458B16B40C3B1F82" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1E47169049A6DB50DB5B16B40C3B8912" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1E47169049A6DB50DB5B16B40C3B8912" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_42C086CC7955DCEC150716B40C3B7586" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_42C086CC7955DCEC150716B40C3B7586" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_2DF880D12125B8B8BE6316B40C3B8C0B" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_DeferredRevenueAndCreditsCurrent_2DF880D12125B8B8BE6316B40C3B8C0B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_C1615FE58CA804291B6716B40C3B8C3E" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_C1615FE58CA804291B6716B40C3B8C3E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_C610F65C110247C8635C16B40C3B21F4" xlink:type="locator" />
    <link:definitionArc order="14" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_C610F65C110247C8635C16B40C3B21F4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CapitalizedContractCostNet" xlink:label="loc_us-gaap_CapitalizedContractCostNet_B6E50B0958CDB0C31DFB16B40C3B705E" xlink:type="locator" />
    <link:definitionArc order="15" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_CapitalizedContractCostNet_B6E50B0958CDB0C31DFB16B40C3B705E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ChangeInContractWithCustomerAssetAbstract" xlink:label="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:type="locator" />
    <link:definitionArc order="16" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaap_ContractWithCustomerLiability_8B7015251C7BE0D375E916B40C3BC8C7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:to="loc_us-gaap_ContractWithCustomerLiability_8B7015251C7BE0D375E916B40C3BC8C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_A71BA3EF3951A9F8595016B40C3BC7A3" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_A71BA3EF3951A9F8595016B40C3BC7A3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_C153CF093BF1A56CFE8816B40C3C49F4" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_C153CF093BF1A56CFE8816B40C3C49F4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:label="loc_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_7BC0AC8E35254CFFE6CF16B40C3C4E1A" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:to="loc_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_7BC0AC8E35254CFFE6CF16B40C3C4E1A" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/RevenueRecognitionTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_D1DDA0ABB4BC5849C1C903C81570FBBD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:to="loc_us-gaap_AwardTypeAxis_D1DDA0ABB4BC5849C1C903C81570FBBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_A3F584EFEEB8B10B15D203C81570EAA9_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_D1DDA0ABB4BC5849C1C903C81570FBBD" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_A3F584EFEEB8B10B15D203C81570EAA9_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_A3F584EFEEB8B10B15D203C81570EAA9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_D1DDA0ABB4BC5849C1C903C81570FBBD" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_A3F584EFEEB8B10B15D203C81570EAA9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_171403F1D1BC277421FC03C815708C66" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_A3F584EFEEB8B10B15D203C81570EAA9" xlink:to="loc_us-gaap_EmployeeStockOptionMember_171403F1D1BC277421FC03C815708C66" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:to="loc_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA" xlink:to="loc_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA" xlink:to="loc_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_GeneralStockOptionPlanMember" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_589E3B58A31B4B1E58BD03C815756EEC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3" xlink:to="loc_cgnx_GeneralStockOptionPlanMember_589E3B58A31B4B1E58BD03C815756EEC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_880EF6173DFB9F04DC4903C81576225E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_880EF6173DFB9F04DC4903C81576225E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_455E35D7E45CBFCD970A03C81576991B" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_455E35D7E45CBFCD970A03C81576991B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ExpirationPeriodOfStockOptionPlan" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_Vestingperiodperformancebasedrestrictedstockyears" xlink:label="loc_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_Vestingperiodtimebasedrestrictedstockyears" xlink:label="loc_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_A0CBBD76DD82353C36EB03C81576C50E" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_A0CBBD76DD82353C36EB03C81576C50E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_9FADE389F6D518CC3FEC03C81576078B" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_9FADE389F6D518CC3FEC03C81576078B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:label="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3" xlink:type="locator" />
    <link:definitionArc order="14" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_B6C670D18294972AE7A903C815765EAC" xlink:type="locator" />
    <link:definitionArc order="15" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_B6C670D18294972AE7A903C815765EAC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_461C454F6D2A2DE9F7CD03C815766990" xlink:type="locator" />
    <link:definitionArc order="16" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_461C454F6D2A2DE9F7CD03C815766990" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C" xlink:type="locator" />
    <link:definitionArc order="17" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2" xlink:to="loc_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_BE222A3205713DC9B2A2F96DDABCC62E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83" xlink:to="loc_us-gaap_RestrictedStockMember_BE222A3205713DC9B2A2F96DDABCC62E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0267BD9377F569A5BFEFF96DDABD2159" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0267BD9377F569A5BFEFF96DDABD2159" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_07E3D2BC9A9A5F7F4BB6F96DDABD95FB" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_07E3D2BC9A9A5F7F4BB6F96DDABD95FB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_33AB32A14260BE2255E0F96DDABDFD06" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_33AB32A14260BE2255E0F96DDABDFD06" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_119710F4D8418D389141F96DDABD57A1" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_119710F4D8418D389141F96DDABD57A1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_198EEE25CB53643B3AABF96DDABD867E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_198EEE25CB53643B3AABF96DDABD867E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_BAB8E19631C8125B6E8EF96DDABDDEA9" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_BAB8E19631C8125B6E8EF96DDABDDEA9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_4B70A600E4653CDD8E02F96DDABDD43D" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_4B70A600E4653CDD8E02F96DDABDD43D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_7EC7C01D0B2D3B8B5102F96DDABDCB58" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_7EC7C01D0B2D3B8B5102F96DDABDCB58" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_7625F37820B51DA7B1FEF96DDABDDEE0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_7625F37820B51DA7B1FEF96DDABDDEE0" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_E0ED43173C1FAEB2F14D03C8151F433A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_E0ED43173C1FAEB2F14D03C8151F433A" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_8ACEBB052C6A626CAD8A03C8151F1E85" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_E0ED43173C1FAEB2F14D03C8151F433A" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_8ACEBB052C6A626CAD8A03C8151F1E85" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_77B3285C3E0048CAD11803C81520682A_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_8ACEBB052C6A626CAD8A03C8151F1E85" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_77B3285C3E0048CAD11803C81520682A_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_77B3285C3E0048CAD11803C81520682A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_8ACEBB052C6A626CAD8A03C8151F1E85" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_77B3285C3E0048CAD11803C81520682A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsTotalMember" xlink:label="loc_us-gaap_CostOfGoodsTotalMember_27141E164EFC2DCCFE5D03C81520ECE5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_77B3285C3E0048CAD11803C81520682A" xlink:to="loc_us-gaap_CostOfGoodsTotalMember_27141E164EFC2DCCFE5D03C81520ECE5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_E1A01D8686D3C326B3E603C815257B3E" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_77B3285C3E0048CAD11803C81520682A" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_E1A01D8686D3C326B3E603C815257B3E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_SellingGeneralAndAdministrativeMember" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_77B3285C3E0048CAD11803C81520682A" xlink:to="loc_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_DBCB8DE17AE2F7C5F1AC03C81525897C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_DBCB8DE17AE2F7C5F1AC03C81525897C" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgram" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_D86CAE2721451C58218709050734849E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_D86CAE2721451C58218709050734849E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_8ED51E1AA6FFCF51535809050734A014_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_D86CAE2721451C58218709050734849E" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_8ED51E1AA6FFCF51535809050734A014_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_8ED51E1AA6FFCF51535809050734A014" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_D86CAE2721451C58218709050734849E" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_8ED51E1AA6FFCF51535809050734A014" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_RepurchaseProgramApril2017Member" xlink:label="loc_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_8ED51E1AA6FFCF51535809050734A014" xlink:to="loc_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_RepurchaseProgramFebruary2018Member" xlink:label="loc_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_8ED51E1AA6FFCF51535809050734A014" xlink:to="loc_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_RepurchaseProgramApril2017andFebruary2018Member" xlink:label="loc_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_8ED51E1AA6FFCF51535809050734A014" xlink:to="loc_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_46828EBFDA6E12038F3609050735EC95" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_46828EBFDA6E12038F3609050735EC95" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased" xlink:label="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_StockRepurchaseProgramValue" xlink:label="loc_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_672DED459CB5827AB80C09050735FE00" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_672DED459CB5827AB80C09050735FE00" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_D78BF65CBE60941A67A4090507359A83" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_D78BF65CBE60941A67A4090507359A83" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_882F4FEE2232C554958E090507358261" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_882F4FEE2232C554958E090507358261" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/SubsequentEvents" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/SubsequentEventsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:to="loc_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_GeneralStockOptionPlanMember" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754" xlink:to="loc_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_ACFB68EFB5288B1F76E9090506CA7173" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7" xlink:to="loc_us-gaap_SubsequentEventMember_ACFB68EFB5288B1F76E9090506CA7173" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_CF1F82E42948C9DBD79B090506CAD477" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_CF1F82E42948C9DBD79B090506CAD477" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="loc_us-gaap_CommonStockDividendsPerShareDeclared_ABA0E9C6961BC9E9B3AE090506CA7878" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:to="loc_us-gaap_CommonStockDividendsPerShareDeclared_ABA0E9C6961BC9E9B3AE090506CA7878" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:label="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_123D315615A3883B2A22090506CA7178" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:to="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_123D315615A3883B2A22090506CA7178" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_CB9E947A85C440E3FDAD090506CA97B5" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:to="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_CB9E947A85C440E3FDAD090506CA97B5" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/Taxes" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/TaxesDetail" xlink:type="extended">
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncomeTaxLineItems" xlink:label="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncomeTaxTable" xlink:label="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="loc_us-gaap_ForeignCountryMember_6D3DDD1243500ECDA93708DEE93B4C1A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A" xlink:to="loc_us-gaap_ForeignCountryMember_6D3DDD1243500ECDA93708DEE93B4C1A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueCommissionersIrelandMember" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_D82D07C7320A5CE5298008DA5B273CE2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:to="loc_us-gaap_RevenueCommissionersIrelandMember_D82D07C7320A5CE5298008DA5B273CE2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StateAdministrationOfTaxationChinaMember" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_08759450DD8754AED00E08DA78506B44" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:to="loc_us-gaap_StateAdministrationOfTaxationChinaMember_08759450DD8754AED00E08DA78506B44" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587" xlink:to="loc_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587" xlink:to="loc_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountingStandardsUpdate201616Member" xlink:label="loc_us-gaap_AccountingStandardsUpdate201616Member_5E2BE5B61EBE5C53D2FE08E171CBB871" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46" xlink:to="loc_us-gaap_AccountingStandardsUpdate201616Member_5E2BE5B61EBE5C53D2FE08E171CBB871" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5690AF39392A8E84C3A608D0CAC6C650" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5690AF39392A8E84C3A608D0CAC6C650" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_B317FC2D75AC5B75C4F308ED0F9D9B71" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_B317FC2D75AC5B75C4F308ED0F9D9B71" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_7D3D2E1C93D442B7485B08E89C016D49" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_7D3D2E1C93D442B7485B08E89C016D49" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1" xlink:label="loc_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_9CFE34017A353280661E08E03EE48786" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_9CFE34017A353280661E08E03EE48786" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear" xlink:label="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_6006BCF8223F0EC67EA308C2EC7B337F" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_6006BCF8223F0EC67EA308C2EC7B337F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncreaseDecreaseInterestAndPenalties" xlink:label="loc_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_LiabilityForUncertainTaxPositions" xlink:label="loc_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_E7CE9B548CF95227524508C2EC7B694D" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_E7CE9B548CF95227524508C2EC7B694D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" xlink:label="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_3E6FC64381319458DAAA08C2EC7B6AD4" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_3E6FC64381319458DAAA08C2EC7B6AD4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:label="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:label="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D" xlink:type="locator" />
    <link:definitionArc order="14" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/TaxesTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WarrantyObligations" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WarrantyObligationsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WeightedAverageShares" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:type="extended" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>11
<FILENAME>cgnx-20180401_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple" />
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_C757745D230724B9600A03FC2ABB3E08_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_C757745D230724B9600A03FC2ABB3E08" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_C757745D230724B9600A03FC2ABB3E08" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_C757745D230724B9600A03FC2ABB3E08" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_C757745D230724B9600A03FC2ABB3E08" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_FD5B027ABD14AADF897504059900E4C6_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_FD5B027ABD14AADF897504059900E4C6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_FD5B027ABD14AADF897504059900E4C6_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_FD5B027ABD14AADF897504059900E4C6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_FD5B027ABD14AADF897504059900E4C6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_FD5B027ABD14AADF897504059900E4C6" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_FD5B027ABD14AADF897504059900E4C6" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_AC59AE21E7D8228F031B03FF492156F8_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_AC59AE21E7D8228F031B03FF492156F8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Intangible Assets, Future Amortization Expense</link:label>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_AC59AE21E7D8228F031B03FF492156F8_label_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_AC59AE21E7D8228F031B03FF492156F8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_AC59AE21E7D8228F031B03FF492156F8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_AC59AE21E7D8228F031B03FF492156F8" xlink:to="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_AC59AE21E7D8228F031B03FF492156F8" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAbstract_516743D57E609DD1414BF96C1301C2D7_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAbstract_516743D57E609DD1414BF96C1301C2D7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_516743D57E609DD1414BF96C1301C2D7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_516743D57E609DD1414BF96C1301C2D7" xlink:to="lab_us-gaap_CashAndCashEquivalentsAbstract_516743D57E609DD1414BF96C1301C2D7" xlink:type="arc" />
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_50B533F0117C294D4021F96C13012C58_terseLabel_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_50B533F0117C294D4021F96C13012C58" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Components of Cash, Cash Equivalents, and Investments</link:label>
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_50B533F0117C294D4021F96C13012C58_label_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_50B533F0117C294D4021F96C13012C58" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Components Of Cash Cash Equivalents And Investments [Table Text Block]</link:label>
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_50B533F0117C294D4021F96C13012C58_documentation_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_50B533F0117C294D4021F96C13012C58" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Components of cash cash equivalents and investments.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" xlink:label="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_50B533F0117C294D4021F96C13012C58" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_50B533F0117C294D4021F96C13012C58" xlink:to="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_50B533F0117C294D4021F96C13012C58" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_5A42E9FCDB98C3DCF4A5F96C13015684_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_5A42E9FCDB98C3DCF4A5F96C13015684" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Summary of Available-for-Sale Investments</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_5A42E9FCDB98C3DCF4A5F96C13015684_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_5A42E9FCDB98C3DCF4A5F96C13015684" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_5A42E9FCDB98C3DCF4A5F96C13015684" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_5A42E9FCDB98C3DCF4A5F96C13015684" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_5A42E9FCDB98C3DCF4A5F96C13015684" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_D890BFA7909E817D5504F96C13014604_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_D890BFA7909E817D5504F96C13014604" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross Unrealized Losses and Fair Values for Available-for-Sale Investments</link:label>
    <link:label id="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_D890BFA7909E817D5504F96C13014604_label_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_D890BFA7909E817D5504F96C13014604" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Unrealized Loss on Investments [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_D890BFA7909E817D5504F96C13014604" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_D890BFA7909E817D5504F96C13014604" xlink:to="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_D890BFA7909E817D5504F96C13014604" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_1A0E106B897B34A57922F96C1301BA71_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_1A0E106B897B34A57922F96C1301BA71" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effective Maturity Dates of Available-for-Sale Investments</link:label>
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_1A0E106B897B34A57922F96C1301BA71_label_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_1A0E106B897B34A57922F96C1301BA71" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investments Classified by Contractual Maturity Date [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_1A0E106B897B34A57922F96C1301BA71" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_1A0E106B897B34A57922F96C1301BA71" xlink:to="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_1A0E106B897B34A57922F96C1301BA71" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_F8594DE6D834C7305D21F96C121D21F2_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract_F8594DE6D834C7305D21F96C121D21F2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_F8594DE6D834C7305D21F96C121D21F2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_F8594DE6D834C7305D21F96C121D21F2" xlink:to="lab_us-gaap_AccountingPoliciesAbstract_F8594DE6D834C7305D21F96C121D21F2" xlink:type="arc" />
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_CF6888E4C0ED91B7EE0BF96C121D8E5F_terseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock_CF6888E4C0ED91B7EE0BF96C121D8E5F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Summary of Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_CF6888E4C0ED91B7EE0BF96C121D8E5F_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock_CF6888E4C0ED91B7EE0BF96C121D8E5F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_CF6888E4C0ED91B7EE0BF96C121D8E5F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock_CF6888E4C0ED91B7EE0BF96C121D8E5F" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock_CF6888E4C0ED91B7EE0BF96C121D8E5F" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_BB3AC76FE3235DD2403BF96C12E1EA0F_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract_BB3AC76FE3235DD2403BF96C12E1EA0F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_BB3AC76FE3235DD2403BF96C12E1EA0F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract_BB3AC76FE3235DD2403BF96C12E1EA0F" xlink:to="lab_us-gaap_EarningsPerShareAbstract_BB3AC76FE3235DD2403BF96C12E1EA0F" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_3E0B16D538B83A7F84DDF96C12E1DD77_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock_3E0B16D538B83A7F84DDF96C12E1DD77" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted-Average Shares</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_3E0B16D538B83A7F84DDF96C12E1DD77_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock_3E0B16D538B83A7F84DDF96C12E1DD77" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_3E0B16D538B83A7F84DDF96C12E1DD77" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareTextBlock_3E0B16D538B83A7F84DDF96C12E1DD77" xlink:to="lab_us-gaap_EarningsPerShareTextBlock_3E0B16D538B83A7F84DDF96C12E1DD77" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_E5C1A64D1AB027CA7748F96C11FF8CA2_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_E5C1A64D1AB027CA7748F96C11FF8CA2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_E5C1A64D1AB027CA7748F96C11FF8CA2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_E5C1A64D1AB027CA7748F96C11FF8CA2" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_E5C1A64D1AB027CA7748F96C11FF8CA2" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:type="arc" />
    <link:label id="lab_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:label id="lab_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45" xlink:to="lab_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45" xlink:type="arc" />
    <link:label id="lab_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:label id="lab_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:to="lab_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:type="arc" />
    <link:label id="lab_us-gaap_DesignatedAsHedgingInstrumentMember_BF608D9FAAF030620C48F96C1200CE7C_terseLabel_en-US" xlink:label="lab_us-gaap_DesignatedAsHedgingInstrumentMember_BF608D9FAAF030620C48F96C1200CE7C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Designated as Hedging Instrument</link:label>
    <link:label id="lab_us-gaap_DesignatedAsHedgingInstrumentMember_BF608D9FAAF030620C48F96C1200CE7C_label_en-US" xlink:label="lab_us-gaap_DesignatedAsHedgingInstrumentMember_BF608D9FAAF030620C48F96C1200CE7C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Designated as Hedging Instrument [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_BF608D9FAAF030620C48F96C1200CE7C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DesignatedAsHedgingInstrumentMember_BF608D9FAAF030620C48F96C1200CE7C" xlink:to="lab_us-gaap_DesignatedAsHedgingInstrumentMember_BF608D9FAAF030620C48F96C1200CE7C" xlink:type="arc" />
    <link:label id="lab_us-gaap_NondesignatedMember_6E7E196FCCA82FCBD0C3F96C12001C24_terseLabel_en-US" xlink:label="lab_us-gaap_NondesignatedMember_6E7E196FCCA82FCBD0C3F96C12001C24" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Not Designated as Hedging Instrument</link:label>
    <link:label id="lab_us-gaap_NondesignatedMember_6E7E196FCCA82FCBD0C3F96C12001C24_label_en-US" xlink:label="lab_us-gaap_NondesignatedMember_6E7E196FCCA82FCBD0C3F96C12001C24" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Not Designated as Hedging Instrument [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_6E7E196FCCA82FCBD0C3F96C12001C24" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NondesignatedMember_6E7E196FCCA82FCBD0C3F96C12001C24" xlink:to="lab_us-gaap_NondesignatedMember_6E7E196FCCA82FCBD0C3F96C12001C24" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A" xlink:to="lab_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:to="lab_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashFlowHedgingMember_8536C80CBB13248A0EF3F96C12001A8C_terseLabel_en-US" xlink:label="lab_us-gaap_CashFlowHedgingMember_8536C80CBB13248A0EF3F96C12001A8C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:label id="lab_us-gaap_CashFlowHedgingMember_8536C80CBB13248A0EF3F96C12001A8C_label_en-US" xlink:label="lab_us-gaap_CashFlowHedgingMember_8536C80CBB13248A0EF3F96C12001A8C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash Flow Hedging [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="loc_us-gaap_CashFlowHedgingMember_8536C80CBB13248A0EF3F96C12001A8C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashFlowHedgingMember_8536C80CBB13248A0EF3F96C12001A8C" xlink:to="lab_us-gaap_CashFlowHedgingMember_8536C80CBB13248A0EF3F96C12001A8C" xlink:type="arc" />
    <link:label id="lab_us-gaap_SalesRevenueGoodsNetMember_8C52A06226920829AF22F96C12003F1B_terseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueGoodsNetMember_8C52A06226920829AF22F96C12003F1B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Product Revenue</link:label>
    <link:label id="lab_us-gaap_SalesRevenueGoodsNetMember_8C52A06226920829AF22F96C12003F1B_label_en-US" xlink:label="lab_us-gaap_SalesRevenueGoodsNetMember_8C52A06226920829AF22F96C12003F1B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sales Revenue, Goods, Net [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueGoodsNetMember" xlink:label="loc_us-gaap_SalesRevenueGoodsNetMember_8C52A06226920829AF22F96C12003F1B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueGoodsNetMember_8C52A06226920829AF22F96C12003F1B" xlink:to="lab_us-gaap_SalesRevenueGoodsNetMember_8C52A06226920829AF22F96C12003F1B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_2AF09A9BB6A9DD8201E4F96C12007410_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember_2AF09A9BB6A9DD8201E4F96C12007410" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Research, Development, and Engineering Expenses</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_2AF09A9BB6A9DD8201E4F96C12007410_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember_2AF09A9BB6A9DD8201E4F96C12007410" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and Development Expense [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_2AF09A9BB6A9DD8201E4F96C12007410" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseMember_2AF09A9BB6A9DD8201E4F96C12007410" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseMember_2AF09A9BB6A9DD8201E4F96C12007410" xlink:type="arc" />
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpenseMember_B11CD94ADAD52FF98CEEF96C12009D0D_terseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpenseMember_B11CD94ADAD52FF98CEEF96C12009D0D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Selling, General, and Administrative Expenses</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpenseMember_B11CD94ADAD52FF98CEEF96C12009D0D_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpenseMember_B11CD94ADAD52FF98CEEF96C12009D0D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General and Administrative Expense [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_B11CD94ADAD52FF98CEEF96C12009D0D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpenseMember_B11CD94ADAD52FF98CEEF96C12009D0D" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpenseMember_B11CD94ADAD52FF98CEEF96C12009D0D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyGainLossMember_B9DFD725B34352F27E7FF96C1200940E_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyGainLossMember_B9DFD725B34352F27E7FF96C1200940E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign Currency Gain (Loss)</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyGainLossMember_B9DFD725B34352F27E7FF96C1200940E_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyGainLossMember_B9DFD725B34352F27E7FF96C1200940E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Gain (Loss) [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyGainLossMember" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_B9DFD725B34352F27E7FF96C1200940E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyGainLossMember_B9DFD725B34352F27E7FF96C1200940E" xlink:to="lab_us-gaap_ForeignCurrencyGainLossMember_B9DFD725B34352F27E7FF96C1200940E" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_FB2F478114FA87FF8398F96C1200636A_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_FB2F478114FA87FF8398F96C1200636A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gains (losses) recorded in shareholders' equity (effective portion)</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_FB2F478114FA87FF8398F96C1200636A_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_FB2F478114FA87FF8398F96C1200636A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) Recognized in Other Comprehensive Income (Loss), Effective Portion, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_FB2F478114FA87FF8398F96C1200636A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_FB2F478114FA87FF8398F96C1200636A" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_FB2F478114FA87FF8398F96C1200636A" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_6ED0BD208D64267790AFF96C120046A2_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_6ED0BD208D64267790AFF96C120046A2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_6ED0BD208D64267790AFF96C120046A2_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_6ED0BD208D64267790AFF96C120046A2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_6ED0BD208D64267790AFF96C120046A2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_6ED0BD208D64267790AFF96C120046A2" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_6ED0BD208D64267790AFF96C120046A2" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_F7BA4E1C697539E57C57F96C1200BE85_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_F7BA4E1C697539E57C57F96C1200BE85" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_F7BA4E1C697539E57C57F96C1200BE85_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_F7BA4E1C697539E57C57F96C1200BE85" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI on Derivatives, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_F7BA4E1C697539E57C57F96C1200BE85" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_F7BA4E1C697539E57C57F96C1200BE85" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_F7BA4E1C697539E57C57F96C1200BE85" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_DC77654C1FC24F7C3B20F96C1200DFA6_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_DC77654C1FC24F7C3B20F96C1200DFA6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_DC77654C1FC24F7C3B20F96C1200DFA6_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_DC77654C1FC24F7C3B20F96C1200DFA6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) Recognized in Income, Ineffective Portion and Amount Excluded from Effectiveness Testing, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_DC77654C1FC24F7C3B20F96C1200DFA6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_DC77654C1FC24F7C3B20F96C1200DFA6" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_DC77654C1FC24F7C3B20F96C1200DFA6" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeGainLossOnDerivativeNet_2CF9BCDBEF50B424F710F96C12007726_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeGainLossOnDerivativeNet_2CF9BCDBEF50B424F710F96C12007726" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gains (losses) recognized in current operations</link:label>
    <link:label id="lab_us-gaap_DerivativeGainLossOnDerivativeNet_2CF9BCDBEF50B424F710F96C12007726_label_en-US" xlink:label="lab_us-gaap_DerivativeGainLossOnDerivativeNet_2CF9BCDBEF50B424F710F96C12007726" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative, Gain (Loss) on Derivative, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_2CF9BCDBEF50B424F710F96C12007726" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeGainLossOnDerivativeNet_2CF9BCDBEF50B424F710F96C12007726" xlink:to="lab_us-gaap_DerivativeGainLossOnDerivativeNet_2CF9BCDBEF50B424F710F96C12007726" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_51009BEED0CCB47F511FF96C123B24A7_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_51009BEED0CCB47F511FF96C123B24A7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_51009BEED0CCB47F511FF96C123B24A7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_51009BEED0CCB47F511FF96C123B24A7" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_51009BEED0CCB47F511FF96C123B24A7" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_D85F22C2A071725DEEE8F96C123BE31B_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_D85F22C2A071725DEEE8F96C123BE31B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Risk-free rate</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_D85F22C2A071725DEEE8F96C123BE31B_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_D85F22C2A071725DEEE8F96C123BE31B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_D85F22C2A071725DEEE8F96C123BE31B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_D85F22C2A071725DEEE8F96C123BE31B" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_D85F22C2A071725DEEE8F96C123BE31B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4ACD05F4201E6F977F11F96C123BC3B7_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4ACD05F4201E6F977F11F96C123BC3B7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expected dividend yield</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4ACD05F4201E6F977F11F96C123BC3B7_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4ACD05F4201E6F977F11F96C123BC3B7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4ACD05F4201E6F977F11F96C123BC3B7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4ACD05F4201E6F977F11F96C123BC3B7" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4ACD05F4201E6F977F11F96C123BC3B7" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_F7947C4FD3A0E818AAB9F96C123BF12B_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_F7947C4FD3A0E818AAB9F96C123BF12B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expected volatility</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_F7947C4FD3A0E818AAB9F96C123BF12B_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_F7947C4FD3A0E818AAB9F96C123BF12B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_F7947C4FD3A0E818AAB9F96C123BF12B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_F7947C4FD3A0E818AAB9F96C123BF12B" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_F7947C4FD3A0E818AAB9F96C123BF12B" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_07C358395441D0AFF7ADF96C123BFB43_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_07C358395441D0AFF7ADF96C123BFB43" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expected term (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_07C358395441D0AFF7ADF96C123BFB43_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_07C358395441D0AFF7ADF96C123BFB43" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_07C358395441D0AFF7ADF96C123BFB43" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_07C358395441D0AFF7ADF96C123BFB43" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_07C358395441D0AFF7ADF96C123BFB43" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_DE26FB6C19F4AE6BE413041AC5472B1E_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract_DE26FB6C19F4AE6BE413041AC5472B1E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_DE26FB6C19F4AE6BE413041AC5472B1E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_DE26FB6C19F4AE6BE413041AC5472B1E" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerAbstract_DE26FB6C19F4AE6BE413041AC5472B1E" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_1450CCB7195DFECCD7A9041ADB75BDD2_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_1450CCB7195DFECCD7A9041ADB75BDD2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue Recognition</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_1450CCB7195DFECCD7A9041ADB75BDD2_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_1450CCB7195DFECCD7A9041ADB75BDD2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_1450CCB7195DFECCD7A9041ADB75BDD2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_1450CCB7195DFECCD7A9041ADB75BDD2" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_1450CCB7195DFECCD7A9041ADB75BDD2" xlink:type="arc" />
    <link:label id="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_D894D8F6EFA30C103C83F96C1201F8D0_terseLabel_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_D894D8F6EFA30C103C83F96C1201F8D0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-Based Compensation Expense</link:label>
    <link:label id="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_D894D8F6EFA30C103C83F96C1201F8D0_label_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_D894D8F6EFA30C103C83F96C1201F8D0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Compensation Related Costs, General [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:label="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_D894D8F6EFA30C103C83F96C1201F8D0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_D894D8F6EFA30C103C83F96C1201F8D0" xlink:to="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_D894D8F6EFA30C103C83F96C1201F8D0" xlink:type="arc" />
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_B07F80C3363562637400F96C12F51567_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_B07F80C3363562637400F96C12F51567" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock options to purchase anti-dilutive common stock</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_B07F80C3363562637400F96C12F51567_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_B07F80C3363562637400F96C12F51567" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_B07F80C3363562637400F96C12F51567" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_B07F80C3363562637400F96C12F51567" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_B07F80C3363562637400F96C12F51567" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8585BC001B6E0C1FF7F016B371E067E6_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8585BC001B6E0C1FF7F016B371E067E6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax provision at federal statutory corporate tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8585BC001B6E0C1FF7F016B371E067E6_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8585BC001B6E0C1FF7F016B371E067E6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8585BC001B6E0C1FF7F016B371E067E6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8585BC001B6E0C1FF7F016B371E067E6" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8585BC001B6E0C1FF7F016B371E067E6" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AF3B5DCD8B2844DCB46416B371E32335_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AF3B5DCD8B2844DCB46416B371E32335" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">State income taxes, net of federal benefit</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AF3B5DCD8B2844DCB46416B371E32335_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AF3B5DCD8B2844DCB46416B371E32335" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AF3B5DCD8B2844DCB46416B371E32335" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AF3B5DCD8B2844DCB46416B371E32335" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AF3B5DCD8B2844DCB46416B371E32335" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A2A85EE549E6AD48108F16B371E32BBB_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A2A85EE549E6AD48108F16B371E32BBB" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Foreign tax rate differential</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A2A85EE549E6AD48108F16B371E32BBB_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A2A85EE549E6AD48108F16B371E32BBB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A2A85EE549E6AD48108F16B371E32BBB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A2A85EE549E6AD48108F16B371E32BBB" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A2A85EE549E6AD48108F16B371E32BBB" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_A3C6A2F0E8B5FC79578716B371E32A98_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_A3C6A2F0E8B5FC79578716B371E32A98" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Tax credit</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_A3C6A2F0E8B5FC79578716B371E32A98_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_A3C6A2F0E8B5FC79578716B371E32A98" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_A3C6A2F0E8B5FC79578716B371E32A98" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_A3C6A2F0E8B5FC79578716B371E32A98" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_A3C6A2F0E8B5FC79578716B371E32A98" xlink:type="arc" />
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4AEC398A4F6FAC05780716B371E360A1_terseLabel_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4AEC398A4F6FAC05780716B371E360A1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Discrete tax benefit related to stock option exercises</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4AEC398A4F6FAC05780716B371E360A1_label_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4AEC398A4F6FAC05780716B371E360A1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4AEC398A4F6FAC05780716B371E360A1_documentation_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4AEC398A4F6FAC05780716B371E360A1" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4AEC398A4F6FAC05780716B371E360A1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4AEC398A4F6FAC05780716B371E360A1" xlink:to="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4AEC398A4F6FAC05780716B371E360A1" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_610ECEACA6F63F91460C16B371E33C6F_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_610ECEACA6F63F91460C16B371E33C6F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other discrete tax events</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_610ECEACA6F63F91460C16B371E33C6F_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_610ECEACA6F63F91460C16B371E33C6F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_610ECEACA6F63F91460C16B371E33C6F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_610ECEACA6F63F91460C16B371E33C6F" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_610ECEACA6F63F91460C16B371E33C6F" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_4F12565729FE9ED34CCC16B371E3052A_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_4F12565729FE9ED34CCC16B371E3052A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_4F12565729FE9ED34CCC16B371E3052A_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_4F12565729FE9ED34CCC16B371E3052A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_4F12565729FE9ED34CCC16B371E3052A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_4F12565729FE9ED34CCC16B371E3052A" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_4F12565729FE9ED34CCC16B371E3052A" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_6B0EAA758863607B335616B371E3E444_totalLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_6B0EAA758863607B335616B371E3E444" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income tax provision</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_6B0EAA758863607B335616B371E3E444_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_6B0EAA758863607B335616B371E3E444" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_6B0EAA758863607B335616B371E3E444" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_6B0EAA758863607B335616B371E3E444" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_6B0EAA758863607B335616B371E3E444" xlink:type="arc" />
    <link:label id="lab_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96_terseLabel_en-US" xlink:label="lab_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax [Table]</link:label>
    <link:label id="lab_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96_label_en-US" xlink:label="lab_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax [Table]</link:label>
    <link:label id="lab_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96_documentation_en-US" xlink:label="lab_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Income Tax [Table]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncomeTaxTable" xlink:label="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:to="lab_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCountryMember_6D3DDD1243500ECDA93708DEE93B4C1A_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCountryMember_6D3DDD1243500ECDA93708DEE93B4C1A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign tax authority</link:label>
    <link:label id="lab_us-gaap_ForeignCountryMember_6D3DDD1243500ECDA93708DEE93B4C1A_label_en-US" xlink:label="lab_us-gaap_ForeignCountryMember_6D3DDD1243500ECDA93708DEE93B4C1A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Tax Authority [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="loc_us-gaap_ForeignCountryMember_6D3DDD1243500ECDA93708DEE93B4C1A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCountryMember_6D3DDD1243500ECDA93708DEE93B4C1A" xlink:to="lab_us-gaap_ForeignCountryMember_6D3DDD1243500ECDA93708DEE93B4C1A" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F" xlink:to="lab_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:to="lab_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueCommissionersIrelandMember_D82D07C7320A5CE5298008DA5B273CE2_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueCommissionersIrelandMember_D82D07C7320A5CE5298008DA5B273CE2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Ireland</link:label>
    <link:label id="lab_us-gaap_RevenueCommissionersIrelandMember_D82D07C7320A5CE5298008DA5B273CE2_label_en-US" xlink:label="lab_us-gaap_RevenueCommissionersIrelandMember_D82D07C7320A5CE5298008DA5B273CE2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue Commissioners, Ireland [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueCommissionersIrelandMember" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_D82D07C7320A5CE5298008DA5B273CE2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueCommissionersIrelandMember_D82D07C7320A5CE5298008DA5B273CE2" xlink:to="lab_us-gaap_RevenueCommissionersIrelandMember_D82D07C7320A5CE5298008DA5B273CE2" xlink:type="arc" />
    <link:label id="lab_us-gaap_StateAdministrationOfTaxationChinaMember_08759450DD8754AED00E08DA78506B44_terseLabel_en-US" xlink:label="lab_us-gaap_StateAdministrationOfTaxationChinaMember_08759450DD8754AED00E08DA78506B44" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">China</link:label>
    <link:label id="lab_us-gaap_StateAdministrationOfTaxationChinaMember_08759450DD8754AED00E08DA78506B44_label_en-US" xlink:label="lab_us-gaap_StateAdministrationOfTaxationChinaMember_08759450DD8754AED00E08DA78506B44" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">State Administration of Taxation, China [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StateAdministrationOfTaxationChinaMember" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_08759450DD8754AED00E08DA78506B44" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAdministrationOfTaxationChinaMember_08759450DD8754AED00E08DA78506B44" xlink:to="lab_us-gaap_StateAdministrationOfTaxationChinaMember_08759450DD8754AED00E08DA78506B44" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustments for New Accounting Pronouncements [Axis]</link:label>
    <link:label id="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587_label_en-US" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments for New Accounting Pronouncements [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587" xlink:to="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587" xlink:type="arc" />
    <link:label id="lab_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46_terseLabel_en-US" xlink:label="lab_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Type of Adoption [Domain]</link:label>
    <link:label id="lab_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46_label_en-US" xlink:label="lab_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Type of Adoption [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46" xlink:to="lab_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountingStandardsUpdate201616Member_5E2BE5B61EBE5C53D2FE08E171CBB871_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201616Member_5E2BE5B61EBE5C53D2FE08E171CBB871" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2016-16</link:label>
    <link:label id="lab_us-gaap_AccountingStandardsUpdate201616Member_5E2BE5B61EBE5C53D2FE08E171CBB871_label_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201616Member_5E2BE5B61EBE5C53D2FE08E171CBB871" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2016-16 [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountingStandardsUpdate201616Member" xlink:label="loc_us-gaap_AccountingStandardsUpdate201616Member_5E2BE5B61EBE5C53D2FE08E171CBB871" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingStandardsUpdate201616Member_5E2BE5B61EBE5C53D2FE08E171CBB871" xlink:to="lab_us-gaap_AccountingStandardsUpdate201616Member_5E2BE5B61EBE5C53D2FE08E171CBB871" xlink:type="arc" />
    <link:label id="lab_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515_terseLabel_en-US" xlink:label="lab_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax [Line Items]</link:label>
    <link:label id="lab_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515_label_en-US" xlink:label="lab_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax [Line Items]</link:label>
    <link:label id="lab_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515_documentation_en-US" xlink:label="lab_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">[Line Items] for Income Tax [Table]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncomeTaxLineItems" xlink:label="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="lab_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_B317FC2D75AC5B75C4F308ED0F9D9B71_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_B317FC2D75AC5B75C4F308ED0F9D9B71" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign tax rate differential</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_B317FC2D75AC5B75C4F308ED0F9D9B71" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_B317FC2D75AC5B75C4F308ED0F9D9B71" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_B317FC2D75AC5B75C4F308ED0F9D9B71" xlink:type="arc" />
    <link:label id="lab_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_9CFE34017A353280661E08E03EE48786_terseLabel_en-US" xlink:label="lab_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_9CFE34017A353280661E08E03EE48786" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cumulative effect on retained earnings</link:label>
    <link:label id="lab_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_9CFE34017A353280661E08E03EE48786_label_en-US" xlink:label="lab_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_9CFE34017A353280661E08E03EE48786" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cumulative Effect on Retained Earnings, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1" xlink:label="loc_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_9CFE34017A353280661E08E03EE48786" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_9CFE34017A353280661E08E03EE48786" xlink:to="lab_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_9CFE34017A353280661E08E03EE48786" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_6006BCF8223F0EC67EA308C2EC7B337F_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_6006BCF8223F0EC67EA308C2EC7B337F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increase in reserves for income taxes, net of deferred tax benefit</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_6006BCF8223F0EC67EA308C2EC7B337F_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_6006BCF8223F0EC67EA308C2EC7B337F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Examination, Increase (Decrease) in Liability from Prior Year</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear" xlink:label="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_6006BCF8223F0EC67EA308C2EC7B337F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_6006BCF8223F0EC67EA308C2EC7B337F" xlink:to="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_6006BCF8223F0EC67EA308C2EC7B337F" xlink:type="arc" />
    <link:label id="lab_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA_terseLabel_en-US" xlink:label="lab_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest and penalties included in reserve</link:label>
    <link:label id="lab_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA_label_en-US" xlink:label="lab_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase Decrease Interest And Penalties</link:label>
    <link:label id="lab_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA_documentation_en-US" xlink:label="lab_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Increase decrease interest and penalties.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncreaseDecreaseInterestAndPenalties" xlink:label="loc_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA" xlink:to="lab_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA" xlink:type="arc" />
    <link:label id="lab_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B_terseLabel_en-US" xlink:label="lab_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Liability for uncertain tax positions</link:label>
    <link:label id="lab_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B_label_en-US" xlink:label="lab_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liability For Uncertain Tax Positions</link:label>
    <link:label id="lab_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B_documentation_en-US" xlink:label="lab_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Liability for uncertain tax positions, total.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_LiabilityForUncertainTaxPositions" xlink:label="loc_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B" xlink:to="lab_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_E7CE9B548CF95227524508C2EC7B694D_verboseLabel_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_E7CE9B548CF95227524508C2EC7B694D" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Reserve for income taxes classified as a noncurrent iability</link:label>
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_E7CE9B548CF95227524508C2EC7B694D_label_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_E7CE9B548CF95227524508C2EC7B694D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liability for Uncertainty in Income Taxes, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_E7CE9B548CF95227524508C2EC7B694D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_E7CE9B548CF95227524508C2EC7B694D" xlink:to="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_E7CE9B548CF95227524508C2EC7B694D" xlink:type="arc" />
    <link:label id="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31_terseLabel_en-US" xlink:label="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reserve for income taxes classified an noncurrent deferred tax assets</link:label>
    <link:label id="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31_label_en-US" xlink:label="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets</link:label>
    <link:label id="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31_documentation_en-US" xlink:label="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets as a result of net operating loss carryforward, a similar tax loss, or a tax credit carryforward.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" xlink:label="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31" xlink:to="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_3E6FC64381319458DAAA08C2EC7B6AD4_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_3E6FC64381319458DAAA08C2EC7B6AD4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest and penalties, gross</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_3E6FC64381319458DAAA08C2EC7B6AD4_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_3E6FC64381319458DAAA08C2EC7B6AD4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_3E6FC64381319458DAAA08C2EC7B6AD4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_3E6FC64381319458DAAA08C2EC7B6AD4" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_3E6FC64381319458DAAA08C2EC7B6AD4" xlink:type="arc" />
    <link:label id="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403_terseLabel_en-US" xlink:label="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Minimum decrease in income tax expense due to release in reserves</link:label>
    <link:label id="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403_label_en-US" xlink:label="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Minimum Decrease In Income Tax Expense Due To Release In Reserves</link:label>
    <link:label id="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403_documentation_en-US" xlink:label="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Minimum decrease in income tax expense due to release in reserves.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403" xlink:to="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403" xlink:type="arc" />
    <link:label id="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09_terseLabel_en-US" xlink:label="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maximum decrease in income tax expense due to release in reserves</link:label>
    <link:label id="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09_label_en-US" xlink:label="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum Decrease In Income Tax Expense Due To Release In Reserves</link:label>
    <link:label id="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09_documentation_en-US" xlink:label="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Maximum decrease in income tax expense due to release in reserves.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09" xlink:to="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09" xlink:type="arc" />
    <link:label id="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED_terseLabel_en-US" xlink:label="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax years open to examination by Internal Revenue Service</link:label>
    <link:label id="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED_label_en-US" xlink:label="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax years open to examination by Internal Revenue Service</link:label>
    <link:label id="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED_documentation_en-US" xlink:label="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tax years open to examination by Internal Revenue Service</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:label="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED" xlink:to="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED" xlink:type="arc" />
    <link:label id="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D_terseLabel_en-US" xlink:label="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax years open to examination by various taxing authorities for other entities</link:label>
    <link:label id="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D_label_en-US" xlink:label="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Examination Years Under Examination Other Entities</link:label>
    <link:label id="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D_documentation_en-US" xlink:label="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The tax year(s) being audited in connection with the income tax examination for other entities.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:label="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D" xlink:to="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_A199BB1EEE92B4A2FB52F96C1303D7AF_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract_A199BB1EEE92B4A2FB52F96C1303D7AF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_A199BB1EEE92B4A2FB52F96C1303D7AF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsAbstract_A199BB1EEE92B4A2FB52F96C1303D7AF" xlink:to="lab_us-gaap_SubsequentEventsAbstract_A199BB1EEE92B4A2FB52F96C1303D7AF" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_1D53A9485885D936944DF96C1303E336_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock_1D53A9485885D936944DF96C1303E336" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Events</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_1D53A9485885D936944DF96C1303E336_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock_1D53A9485885D936944DF96C1303E336" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_1D53A9485885D936944DF96C1303E336" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsTextBlock_1D53A9485885D936944DF96C1303E336" xlink:to="lab_us-gaap_SubsequentEventsTextBlock_1D53A9485885D936944DF96C1303E336" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D" xlink:type="arc" />
    <link:label id="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E_terseLabel_en-US" xlink:label="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Major Types of Debt and Equity Securities [Axis]</link:label>
    <link:label id="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E_label_en-US" xlink:label="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Major Types of Debt and Equity Securities [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E" xlink:to="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E" xlink:type="arc" />
    <link:label id="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E_terseLabel_en-US" xlink:label="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Major Types of Debt and Equity Securities [Domain]</link:label>
    <link:label id="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E_label_en-US" xlink:label="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Major Types of Debt and Equity Securities [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:type="arc" />
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_091F6647534D04CA43DB03C8163FDFC8_terseLabel_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember_091F6647534D04CA43DB03C8163FDFC8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Treasury bills</link:label>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_091F6647534D04CA43DB03C8163FDFC8_label_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember_091F6647534D04CA43DB03C8163FDFC8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">US Treasury Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_091F6647534D04CA43DB03C8163FDFC8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USTreasurySecuritiesMember_091F6647534D04CA43DB03C8163FDFC8" xlink:to="lab_us-gaap_USTreasurySecuritiesMember_091F6647534D04CA43DB03C8163FDFC8" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_A8FA37AB561C48708FC203C816408B49_terseLabel_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember_A8FA37AB561C48708FC203C816408B49" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Asset-backed securities</link:label>
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_A8FA37AB561C48708FC203C816408B49_label_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember_A8FA37AB561C48708FC203C816408B49" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Asset-backed Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_A8FA37AB561C48708FC203C816408B49" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetBackedSecuritiesMember_A8FA37AB561C48708FC203C816408B49" xlink:to="lab_us-gaap_AssetBackedSecuritiesMember_A8FA37AB561C48708FC203C816408B49" xlink:type="arc" />
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_7B2770E761866EDA141703C81640B087_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember_7B2770E761866EDA141703C81640B087" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Corporate bonds</link:label>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_7B2770E761866EDA141703C81640B087_label_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember_7B2770E761866EDA141703C81640B087" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Corporate Bond Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_7B2770E761866EDA141703C81640B087" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateBondSecuritiesMember_7B2770E761866EDA141703C81640B087" xlink:to="lab_us-gaap_CorporateBondSecuritiesMember_7B2770E761866EDA141703C81640B087" xlink:type="arc" />
    <link:label id="lab_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D_terseLabel_en-US" xlink:label="lab_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Agency bonds</link:label>
    <link:label id="lab_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D_label_en-US" xlink:label="lab_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Agency Bonds [Member]</link:label>
    <link:label id="lab_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D_documentation_en-US" xlink:label="lab_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Agency bond.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D" xlink:to="lab_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D" xlink:type="arc" />
    <link:label id="lab_us-gaap_SovereignDebtSecuritiesMember_5D083CAF2D696D79269203C81640A1F5_terseLabel_en-US" xlink:label="lab_us-gaap_SovereignDebtSecuritiesMember_5D083CAF2D696D79269203C81640A1F5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Sovereign bonds</link:label>
    <link:label id="lab_us-gaap_SovereignDebtSecuritiesMember_5D083CAF2D696D79269203C81640A1F5_label_en-US" xlink:label="lab_us-gaap_SovereignDebtSecuritiesMember_5D083CAF2D696D79269203C81640A1F5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sovereign Debt Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_5D083CAF2D696D79269203C81640A1F5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SovereignDebtSecuritiesMember_5D083CAF2D696D79269203C81640A1F5" xlink:to="lab_us-gaap_SovereignDebtSecuritiesMember_5D083CAF2D696D79269203C81640A1F5" xlink:type="arc" />
    <link:label id="lab_us-gaap_MunicipalBondsMember_03929D3444E1D170622303C816404B5A_terseLabel_en-US" xlink:label="lab_us-gaap_MunicipalBondsMember_03929D3444E1D170622303C816404B5A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Municipal bonds</link:label>
    <link:label id="lab_us-gaap_MunicipalBondsMember_03929D3444E1D170622303C816404B5A_label_en-US" xlink:label="lab_us-gaap_MunicipalBondsMember_03929D3444E1D170622303C816404B5A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Municipal Bonds [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_03929D3444E1D170622303C816404B5A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MunicipalBondsMember_03929D3444E1D170622303C816404B5A" xlink:to="lab_us-gaap_MunicipalBondsMember_03929D3444E1D170622303C816404B5A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities [Line Items]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:type="arc" />
    <link:label id="lab_us-gaap_Cash_8D96188B1F0E9D93CA6203C81640833A_terseLabel_en-US" xlink:label="lab_us-gaap_Cash_8D96188B1F0E9D93CA6203C81640833A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_Cash_8D96188B1F0E9D93CA6203C81640833A_label_en-US" xlink:label="lab_us-gaap_Cash_8D96188B1F0E9D93CA6203C81640833A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_8D96188B1F0E9D93CA6203C81640833A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Cash_8D96188B1F0E9D93CA6203C81640833A" xlink:to="lab_us-gaap_Cash_8D96188B1F0E9D93CA6203C81640833A" xlink:type="arc" />
    <link:label id="lab_us-gaap_MoneyMarketFundsAtCarryingValue_34E5FAEFD29DC28F4EB503C81640B733_terseLabel_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsAtCarryingValue_34E5FAEFD29DC28F4EB503C81640B733" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Money market instruments</link:label>
    <link:label id="lab_us-gaap_MoneyMarketFundsAtCarryingValue_34E5FAEFD29DC28F4EB503C81640B733_label_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsAtCarryingValue_34E5FAEFD29DC28F4EB503C81640B733" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Money Market Funds, at Carrying Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_34E5FAEFD29DC28F4EB503C81640B733" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MoneyMarketFundsAtCarryingValue_34E5FAEFD29DC28F4EB503C81640B733" xlink:to="lab_us-gaap_MoneyMarketFundsAtCarryingValue_34E5FAEFD29DC28F4EB503C81640B733" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_62F744B5E6F31076D4F703C81640EE60_totalLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_62F744B5E6F31076D4F703C81640EE60" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_62F744B5E6F31076D4F703C81640EE60_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_62F744B5E6F31076D4F703C81640EE60" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_62F744B5E6F31076D4F703C81640EE60" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_62F744B5E6F31076D4F703C81640EE60" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_62F744B5E6F31076D4F703C81640EE60" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8AA05CCDA43FFF31007803C81640F306_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8AA05CCDA43FFF31007803C81640F306" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Short-term investments</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8AA05CCDA43FFF31007803C81640F306_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8AA05CCDA43FFF31007803C81640F306" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Securities, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8AA05CCDA43FFF31007803C81640F306" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8AA05CCDA43FFF31007803C81640F306" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8AA05CCDA43FFF31007803C81640F306" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_7C741C6A6A90D6EE9C1603C8164064A9_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_7C741C6A6A90D6EE9C1603C8164064A9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-term investments</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_7C741C6A6A90D6EE9C1603C8164064A9_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_7C741C6A6A90D6EE9C1603C8164064A9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Securities, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_7C741C6A6A90D6EE9C1603C8164064A9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_7C741C6A6A90D6EE9C1603C8164064A9" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_7C741C6A6A90D6EE9C1603C8164064A9" xlink:type="arc" />
    <link:label id="lab_us-gaap_LongTermInvestments_2B117EFDEBF40B7FFE2003C816407885_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermInvestments_2B117EFDEBF40B7FFE2003C816407885" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-term investments</link:label>
    <link:label id="lab_us-gaap_LongTermInvestments_2B117EFDEBF40B7FFE2003C816407885_label_en-US" xlink:label="lab_us-gaap_LongTermInvestments_2B117EFDEBF40B7FFE2003C816407885" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_2B117EFDEBF40B7FFE2003C816407885" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermInvestments_2B117EFDEBF40B7FFE2003C816407885" xlink:to="lab_us-gaap_LongTermInvestments_2B117EFDEBF40B7FFE2003C816407885" xlink:type="arc" />
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816_totalLabel_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816_label_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash Cash Equivalents Short Term And Long Term Investments</link:label>
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816_documentation_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Cash, cash equivalents, short term and long term investments.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816" xlink:to="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_5873ED6530C6782FD5DF03C81647C409_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract_5873ED6530C6782FD5DF03C81647C409" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_5873ED6530C6782FD5DF03C81647C409" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_5873ED6530C6782FD5DF03C81647C409" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract_5873ED6530C6782FD5DF03C81647C409" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Hierarchy [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Hierarchy [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_3D42CF2250509DA5086403C81648E9CD_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member_3D42CF2250509DA5086403C81648E9CD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unobservable Inputs (Level 3)</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_3D42CF2250509DA5086403C81648E9CD_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member_3D42CF2250509DA5086403C81648E9CD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_3D42CF2250509DA5086403C81648E9CD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel3Member_3D42CF2250509DA5086403C81648E9CD" xlink:to="lab_us-gaap_FairValueInputsLevel3Member_3D42CF2250509DA5086403C81648E9CD" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212_label_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212" xlink:to="lab_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement Frequency [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement Frequency [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978" xlink:to="lab_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_FDDBC2BC5F56E1EF003003C81648FAC5_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember_FDDBC2BC5F56E1EF003003C81648FAC5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Measurements, Recurring</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_FDDBC2BC5F56E1EF003003C81648FAC5_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember_FDDBC2BC5F56E1EF003003C81648FAC5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurements, Recurring [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_FDDBC2BC5F56E1EF003003C81648FAC5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsRecurringMember_FDDBC2BC5F56E1EF003003C81648FAC5" xlink:to="lab_us-gaap_FairValueMeasurementsRecurringMember_FDDBC2BC5F56E1EF003003C81648FAC5" xlink:type="arc" />
    <link:label id="lab_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8_terseLabel_en-US" xlink:label="lab_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingent Consideration by Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8_label_en-US" xlink:label="lab_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contingent Consideration by Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="loc_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8" xlink:to="lab_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8" xlink:type="arc" />
    <link:label id="lab_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4_terseLabel_en-US" xlink:label="lab_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingent Consideration Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4_label_en-US" xlink:label="lab_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contingent Consideration Type [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:to="lab_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:type="arc" />
    <link:label id="lab_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF_terseLabel_en-US" xlink:label="lab_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value adjustment to Manatee contingent consideration</link:label>
    <link:label id="lab_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF_label_en-US" xlink:label="lab_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Manatee Contingent Consideration [Member]</link:label>
    <link:label id="lab_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF_documentation_en-US" xlink:label="lab_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Manatee Contingent Consideration [Member]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ManateeContingentConsiderationMember" xlink:label="loc_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF" xlink:to="lab_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF" xlink:type="arc" />
    <link:label id="lab_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896_terseLabel_en-US" xlink:label="lab_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value adjustment to Chiaro contingent consideration</link:label>
    <link:label id="lab_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896_label_en-US" xlink:label="lab_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Chiaro Contingent Consideration [Member]</link:label>
    <link:label id="lab_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896_documentation_en-US" xlink:label="lab_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Chiaro Contingent Consideration [Member]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ChiaroContingentConsiderationMember" xlink:label="loc_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896" xlink:to="lab_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896" xlink:type="arc" />
    <link:label id="lab_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829_terseLabel_en-US" xlink:label="lab_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value adjustment to GVi contingent consideration</link:label>
    <link:label id="lab_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829_label_en-US" xlink:label="lab_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">GVI Contingent Consideration [Member]</link:label>
    <link:label id="lab_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829_documentation_en-US" xlink:label="lab_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">GVI Contingent Consideration [Member]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_GVIContingentConsiderationMember" xlink:label="loc_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829" xlink:to="lab_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_772DE4B14CD5A531AD2703C81648D811_periodStartLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_772DE4B14CD5A531AD2703C81648D811" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_772DE4B14CD5A531AD2703C81648D811_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_772DE4B14CD5A531AD2703C81648D811" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement with Unobservable Inputs Reconciliations, Recurring Basis, Liability Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_772DE4B14CD5A531AD2703C81648D811" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_772DE4B14CD5A531AD2703C81648D811" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_772DE4B14CD5A531AD2703C81648D811" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesFairValueAdjustment_B62FF19F0DBD8B1A039703C81648C6A9_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueAdjustment_B62FF19F0DBD8B1A039703C81648C6A9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value adjustment to contingent consideration</link:label>
    <link:label id="lab_us-gaap_LiabilitiesFairValueAdjustment_B62FF19F0DBD8B1A039703C81648C6A9_label_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueAdjustment_B62FF19F0DBD8B1A039703C81648C6A9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities, Fair Value Adjustment</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesFairValueAdjustment" xlink:label="loc_us-gaap_LiabilitiesFairValueAdjustment_B62FF19F0DBD8B1A039703C81648C6A9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesFairValueAdjustment_B62FF19F0DBD8B1A039703C81648C6A9" xlink:to="lab_us-gaap_LiabilitiesFairValueAdjustment_B62FF19F0DBD8B1A039703C81648C6A9" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_F81D6D3F44AF1F2CBC2403C816483175_periodEndLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_F81D6D3F44AF1F2CBC2403C816483175" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_F81D6D3F44AF1F2CBC2403C816483175" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_F81D6D3F44AF1F2CBC2403C816483175" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_F81D6D3F44AF1F2CBC2403C816483175" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value Measurements, Recurring and Nonrecurring [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Measurements, Recurring and Nonrecurring [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_3A0A8568A357645BD5AB03C8167AB615_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member_3A0A8568A357645BD5AB03C8167AB615" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Quoted Prices in Active Markets for Identical Assets (Level 1)</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_3A0A8568A357645BD5AB03C8167AB615_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member_3A0A8568A357645BD5AB03C8167AB615" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_3A0A8568A357645BD5AB03C8167AB615" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member_3A0A8568A357645BD5AB03C8167AB615" xlink:to="lab_us-gaap_FairValueInputsLevel1Member_3A0A8568A357645BD5AB03C8167AB615" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_207584C7952856339BD703C8167BD9BA_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member_207584C7952856339BD703C8167BD9BA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Significant Other Observable Inputs (Level 2)</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_207584C7952856339BD703C8167BD9BA_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member_207584C7952856339BD703C8167BD9BA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_207584C7952856339BD703C8167BD9BA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel2Member_207584C7952856339BD703C8167BD9BA" xlink:to="lab_us-gaap_FairValueInputsLevel2Member_207584C7952856339BD703C8167BD9BA" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Assets:</link:label>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701_label_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets, Fair Value Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:to="lab_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ADFAB1B8CECF35369CF203C8167C3EBD_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ADFAB1B8CECF35369CF203C8167C3EBD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Financial assets at fair value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ADFAB1B8CECF35369CF203C8167C3EBD_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ADFAB1B8CECF35369CF203C8167C3EBD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Securities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ADFAB1B8CECF35369CF203C8167C3EBD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ADFAB1B8CECF35369CF203C8167C3EBD" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ADFAB1B8CECF35369CF203C8167C3EBD" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_8C2888ADAEF97D99500603C8167C3536_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_8C2888ADAEF97D99500603C8167C3536" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flow hedge forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_8C2888ADAEF97D99500603C8167C3536_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_8C2888ADAEF97D99500603C8167C3536" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Cash Flow Hedge Asset at Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue" xlink:label="loc_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_8C2888ADAEF97D99500603C8167C3536" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_8C2888ADAEF97D99500603C8167C3536" xlink:to="lab_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_8C2888ADAEF97D99500603C8167C3536" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_F303F35880C26A5BD75903C8167C38A2_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_F303F35880C26A5BD75903C8167C38A2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Economic hedge forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_F303F35880C26A5BD75903C8167C38A2_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_F303F35880C26A5BD75903C8167C38A2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Contract, Asset, Fair Value Disclosure</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_F303F35880C26A5BD75903C8167C38A2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_F303F35880C26A5BD75903C8167C38A2" xlink:to="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_F303F35880C26A5BD75903C8167C38A2" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9_label_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities, Fair Value Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:to="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue_C225E1C172D5563CF8EB03C8167CD0E8_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue_C225E1C172D5563CF8EB03C8167CD0E8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flow hedge forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue_C225E1C172D5563CF8EB03C8167CD0E8_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue_C225E1C172D5563CF8EB03C8167CD0E8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Cash Flow Hedge Liability at Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue" xlink:label="loc_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue_C225E1C172D5563CF8EB03C8167CD0E8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue_C225E1C172D5563CF8EB03C8167CD0E8" xlink:to="lab_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue_C225E1C172D5563CF8EB03C8167CD0E8" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_B845DD6383D932AF763303C8167CBF2C_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_B845DD6383D932AF763303C8167CBF2C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Economic hedge forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_B845DD6383D932AF763303C8167CBF2C_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_B845DD6383D932AF763303C8167CBF2C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Contracts, Liability, Fair Value Disclosure</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_B845DD6383D932AF763303C8167CBF2C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_B845DD6383D932AF763303C8167CBF2C" xlink:to="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_B845DD6383D932AF763303C8167CBF2C" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_9813CCD96818DDCE28B203C8167C7F90_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_9813CCD96818DDCE28B203C8167C7F90" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingent consideration liabilities</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_9813CCD96818DDCE28B203C8167C7F90_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_9813CCD96818DDCE28B203C8167C7F90" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration, Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_9813CCD96818DDCE28B203C8167C7F90" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_9813CCD96818DDCE28B203C8167C7F90" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_9813CCD96818DDCE28B203C8167C7F90" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="lab_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:type="arc" />
    <link:label id="lab_us-gaap_SalesRevenueNet_D2F0B85491C4977E934703C816A6EFB1_terseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueNet_D2F0B85491C4977E934703C816A6EFB1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_SalesRevenueNet_D2F0B85491C4977E934703C816A6EFB1_label_en-US" xlink:label="lab_us-gaap_SalesRevenueNet_D2F0B85491C4977E934703C816A6EFB1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueNet" xlink:label="loc_us-gaap_SalesRevenueNet_D2F0B85491C4977E934703C816A6EFB1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueNet_D2F0B85491C4977E934703C816A6EFB1" xlink:to="lab_us-gaap_SalesRevenueNet_D2F0B85491C4977E934703C816A6EFB1" xlink:type="arc" />
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_941553FF033A713FF4F503C816A6E508_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold_941553FF033A713FF4F503C816A6E508" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cost of revenue</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_941553FF033A713FF4F503C816A6E508_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold_941553FF033A713FF4F503C816A6E508" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_941553FF033A713FF4F503C816A6E508" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold_941553FF033A713FF4F503C816A6E508" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold_941553FF033A713FF4F503C816A6E508" xlink:type="arc" />
    <link:label id="lab_us-gaap_GrossProfit_DE6894008FF94627772D03C816A693C7_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit_DE6894008FF94627772D03C816A693C7" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Gross margin</link:label>
    <link:label id="lab_us-gaap_GrossProfit_DE6894008FF94627772D03C816A693C7_label_en-US" xlink:label="lab_us-gaap_GrossProfit_DE6894008FF94627772D03C816A693C7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_DE6894008FF94627772D03C816A693C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit_DE6894008FF94627772D03C816A693C7" xlink:to="lab_us-gaap_GrossProfit_DE6894008FF94627772D03C816A693C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_13596B2FA25896C512A203C816A69FE2_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense_13596B2FA25896C512A203C816A69FE2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Research, development, and engineering expenses</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_13596B2FA25896C512A203C816A69FE2_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense_13596B2FA25896C512A203C816A69FE2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and Development Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_13596B2FA25896C512A203C816A69FE2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense_13596B2FA25896C512A203C816A69FE2" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense_13596B2FA25896C512A203C816A69FE2" xlink:type="arc" />
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_5E9F0D191992074ACA4F03C816A60FC1_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense_5E9F0D191992074ACA4F03C816A60FC1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Selling, general, and administrative expenses</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_5E9F0D191992074ACA4F03C816A60FC1_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense_5E9F0D191992074ACA4F03C816A60FC1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling, General and Administrative Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_5E9F0D191992074ACA4F03C816A60FC1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense_5E9F0D191992074ACA4F03C816A60FC1" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense_5E9F0D191992074ACA4F03C816A60FC1" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingIncomeLoss_BF764C12F3E3F8592F8F03C816A6DDFC_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss_BF764C12F3E3F8592F8F03C816A6DDFC" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Operating income</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_BF764C12F3E3F8592F8F03C816A6DDFC_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss_BF764C12F3E3F8592F8F03C816A6DDFC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_BF764C12F3E3F8592F8F03C816A6DDFC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss_BF764C12F3E3F8592F8F03C816A6DDFC" xlink:to="lab_us-gaap_OperatingIncomeLoss_BF764C12F3E3F8592F8F03C816A6DDFC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_143BBD6B330695EAB3AF03C816A6584B_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_143BBD6B330695EAB3AF03C816A6584B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency gain (loss)</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_143BBD6B330695EAB3AF03C816A6584B_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_143BBD6B330695EAB3AF03C816A6584B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Transaction Gain (Loss), before Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_143BBD6B330695EAB3AF03C816A6584B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_143BBD6B330695EAB3AF03C816A6584B" xlink:to="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_143BBD6B330695EAB3AF03C816A6584B" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentIncomeNonoperating_8C175CD8994BF5EA21AE03C816A6187D_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentIncomeNonoperating_8C175CD8994BF5EA21AE03C816A6187D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Investment income</link:label>
    <link:label id="lab_us-gaap_InvestmentIncomeNonoperating_8C175CD8994BF5EA21AE03C816A6187D_label_en-US" xlink:label="lab_us-gaap_InvestmentIncomeNonoperating_8C175CD8994BF5EA21AE03C816A6187D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investment Income, Nonoperating</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_8C175CD8994BF5EA21AE03C816A6187D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentIncomeNonoperating_8C175CD8994BF5EA21AE03C816A6187D" xlink:to="lab_us-gaap_InvestmentIncomeNonoperating_8C175CD8994BF5EA21AE03C816A6187D" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_580B58A959FF14B3DFFC03C816A6FB8C_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense_580B58A959FF14B3DFFC03C816A6FB8C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other income (expense)</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_580B58A959FF14B3DFFC03C816A6FB8C_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense_580B58A959FF14B3DFFC03C816A6FB8C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_580B58A959FF14B3DFFC03C816A6FB8C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense_580B58A959FF14B3DFFC03C816A6FB8C" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense_580B58A959FF14B3DFFC03C816A6FB8C" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C81D0B66BC3CD6935C3503C816A65A25_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C81D0B66BC3CD6935C3503C816A65A25" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income before income tax expense</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C81D0B66BC3CD6935C3503C816A65A25_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C81D0B66BC3CD6935C3503C816A65A25" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C81D0B66BC3CD6935C3503C816A65A25" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C81D0B66BC3CD6935C3503C816A65A25" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C81D0B66BC3CD6935C3503C816A65A25" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_079A1B6C68313923604103C816A7451C_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit_079A1B6C68313923604103C816A7451C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax expense (benefit)</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_079A1B6C68313923604103C816A7451C_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit_079A1B6C68313923604103C816A7451C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_079A1B6C68313923604103C816A7451C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_079A1B6C68313923604103C816A7451C" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit_079A1B6C68313923604103C816A7451C" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperations_2967860CA61A1B415C2703C92697579C_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperations_2967860CA61A1B415C2703C92697579C" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperations_2967860CA61A1B415C2703C92697579C_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperations_2967860CA61A1B415C2703C92697579C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Continuing Operations, Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_2967860CA61A1B415C2703C92697579C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperations_2967860CA61A1B415C2703C92697579C" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperations_2967860CA61A1B415C2703C92697579C" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_F84DD09695853CCB2E5E03C816A7084B_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_F84DD09695853CCB2E5E03C816A7084B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income per weighted-average common and common-equivalent share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_F84DD09695853CCB2E5E03C816A7084B_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_F84DD09695853CCB2E5E03C816A7084B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Basic and Diluted [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_F84DD09695853CCB2E5E03C816A7084B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_F84DD09695853CCB2E5E03C816A7084B" xlink:to="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_F84DD09695853CCB2E5E03C816A7084B" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareBasic_5C8E15F523F98D648B3003C816A786F3_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic_5C8E15F523F98D648B3003C816A786F3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_5C8E15F523F98D648B3003C816A786F3_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic_5C8E15F523F98D648B3003C816A786F3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_5C8E15F523F98D648B3003C816A786F3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic_5C8E15F523F98D648B3003C816A786F3" xlink:to="lab_us-gaap_EarningsPerShareBasic_5C8E15F523F98D648B3003C816A786F3" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_4A2043B9C6A4A15AF78503C816A7CFE9_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted_4A2043B9C6A4A15AF78503C816A7CFE9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_4A2043B9C6A4A15AF78503C816A7CFE9_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted_4A2043B9C6A4A15AF78503C816A7CFE9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_4A2043B9C6A4A15AF78503C816A7CFE9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted_4A2043B9C6A4A15AF78503C816A7CFE9" xlink:to="lab_us-gaap_EarningsPerShareDiluted_4A2043B9C6A4A15AF78503C816A7CFE9" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_58F29F8AD7F3785F76BC03C816A72F17_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_58F29F8AD7F3785F76BC03C816A72F17" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted-average common and common-equivalent shares outstanding:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_58F29F8AD7F3785F76BC03C816A72F17_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_58F29F8AD7F3785F76BC03C816A72F17" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_58F29F8AD7F3785F76BC03C816A72F17" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_58F29F8AD7F3785F76BC03C816A72F17" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_58F29F8AD7F3785F76BC03C816A72F17" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5E4AD48B19B85358D3AE03C816A7B6A6_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5E4AD48B19B85358D3AE03C816A7B6A6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5E4AD48B19B85358D3AE03C816A7B6A6_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5E4AD48B19B85358D3AE03C816A7B6A6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5E4AD48B19B85358D3AE03C816A7B6A6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5E4AD48B19B85358D3AE03C816A7B6A6" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5E4AD48B19B85358D3AE03C816A7B6A6" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_022A9DC87CFBE012E59603C816A7FB48_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_022A9DC87CFBE012E59603C816A7FB48" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_022A9DC87CFBE012E59603C816A7FB48_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_022A9DC87CFBE012E59603C816A7FB48" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_022A9DC87CFBE012E59603C816A7FB48" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_022A9DC87CFBE012E59603C816A7FB48" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_022A9DC87CFBE012E59603C816A7FB48" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareCashPaid_832E58258CD2A6F2DCAE03C816A791E0_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareCashPaid_832E58258CD2A6F2DCAE03C816A791E0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash dividends per common share</link:label>
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareCashPaid_832E58258CD2A6F2DCAE03C816A791E0_label_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareCashPaid_832E58258CD2A6F2DCAE03C816A791E0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Dividends, Per Share, Cash Paid</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockDividendsPerShareCashPaid" xlink:label="loc_us-gaap_CommonStockDividendsPerShareCashPaid_832E58258CD2A6F2DCAE03C816A791E0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockDividendsPerShareCashPaid_832E58258CD2A6F2DCAE03C816A791E0" xlink:to="lab_us-gaap_CommonStockDividendsPerShareCashPaid_832E58258CD2A6F2DCAE03C816A791E0" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:type="arc" />
    <link:label id="lab_us-gaap_DistributionRightsMember_AD50F761D10B93C98FB70406986F8B0E_terseLabel_en-US" xlink:label="lab_us-gaap_DistributionRightsMember_AD50F761D10B93C98FB70406986F8B0E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Distribution networks</link:label>
    <link:label id="lab_us-gaap_DistributionRightsMember_AD50F761D10B93C98FB70406986F8B0E_label_en-US" xlink:label="lab_us-gaap_DistributionRightsMember_AD50F761D10B93C98FB70406986F8B0E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Distribution Rights [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_AD50F761D10B93C98FB70406986F8B0E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DistributionRightsMember_AD50F761D10B93C98FB70406986F8B0E" xlink:to="lab_us-gaap_DistributionRightsMember_AD50F761D10B93C98FB70406986F8B0E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ComputerSoftwareIntangibleAssetMember_70F0D3AFAEAC371DEE160407397626B4_terseLabel_en-US" xlink:label="lab_us-gaap_ComputerSoftwareIntangibleAssetMember_70F0D3AFAEAC371DEE160407397626B4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Completed technologies</link:label>
    <link:label id="lab_us-gaap_ComputerSoftwareIntangibleAssetMember_70F0D3AFAEAC371DEE160407397626B4_label_en-US" xlink:label="lab_us-gaap_ComputerSoftwareIntangibleAssetMember_70F0D3AFAEAC371DEE160407397626B4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Computer Software, Intangible Asset [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_70F0D3AFAEAC371DEE160407397626B4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_70F0D3AFAEAC371DEE160407397626B4" xlink:to="lab_us-gaap_ComputerSoftwareIntangibleAssetMember_70F0D3AFAEAC371DEE160407397626B4" xlink:type="arc" />
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_9832B6BA1BABBCFD80740407A4B3D1B8_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember_9832B6BA1BABBCFD80740407A4B3D1B8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Customer relationships</link:label>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_9832B6BA1BABBCFD80740407A4B3D1B8_label_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember_9832B6BA1BABBCFD80740407A4B3D1B8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_9832B6BA1BABBCFD80740407A4B3D1B8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerRelationshipsMember_9832B6BA1BABBCFD80740407A4B3D1B8" xlink:to="lab_us-gaap_CustomerRelationshipsMember_9832B6BA1BABBCFD80740407A4B3D1B8" xlink:type="arc" />
    <link:label id="lab_us-gaap_NoncompeteAgreementsMember_12D03FC2D9650986F54404081985AAC5_terseLabel_en-US" xlink:label="lab_us-gaap_NoncompeteAgreementsMember_12D03FC2D9650986F54404081985AAC5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-compete agreements</link:label>
    <link:label id="lab_us-gaap_NoncompeteAgreementsMember_12D03FC2D9650986F54404081985AAC5_label_en-US" xlink:label="lab_us-gaap_NoncompeteAgreementsMember_12D03FC2D9650986F54404081985AAC5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Noncompete Agreements [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_12D03FC2D9650986F54404081985AAC5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncompeteAgreementsMember_12D03FC2D9650986F54404081985AAC5" xlink:to="lab_us-gaap_NoncompeteAgreementsMember_12D03FC2D9650986F54404081985AAC5" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_6F8308BBEDA48DC6C442040445A03722_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross_6F8308BBEDA48DC6C442040445A03722" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross Carrying Value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_6F8308BBEDA48DC6C442040445A03722_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross_6F8308BBEDA48DC6C442040445A03722" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_6F8308BBEDA48DC6C442040445A03722" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross_6F8308BBEDA48DC6C442040445A03722" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross_6F8308BBEDA48DC6C442040445A03722" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5772E7CB09DA3D65A57E0404C7D17FCC_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5772E7CB09DA3D65A57E0404C7D17FCC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Amortization</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5772E7CB09DA3D65A57E0404C7D17FCC_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5772E7CB09DA3D65A57E0404C7D17FCC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5772E7CB09DA3D65A57E0404C7D17FCC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5772E7CB09DA3D65A57E0404C7D17FCC" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5772E7CB09DA3D65A57E0404C7D17FCC" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_188BB48D5A5A6F4E106204050E75A3A1_totalLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet_188BB48D5A5A6F4E106204050E75A3A1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net Carrying Value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_188BB48D5A5A6F4E106204050E75A3A1_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet_188BB48D5A5A6F4E106204050E75A3A1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_188BB48D5A5A6F4E106204050E75A3A1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_188BB48D5A5A6F4E106204050E75A3A1" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet_188BB48D5A5A6F4E106204050E75A3A1" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_C82A3905677D9FAC7D80040AA2561AD9_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_C82A3905677D9FAC7D80040AA2561AD9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Remainder of fiscal 2018</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_C82A3905677D9FAC7D80040AA2561AD9_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_C82A3905677D9FAC7D80040AA2561AD9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_C82A3905677D9FAC7D80040AA2561AD9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_C82A3905677D9FAC7D80040AA2561AD9" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_C82A3905677D9FAC7D80040AA2561AD9" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A3970D4D1EDC3E836C74040B256D0847_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A3970D4D1EDC3E836C74040B256D0847" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2019</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A3970D4D1EDC3E836C74040B256D0847_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A3970D4D1EDC3E836C74040B256D0847" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Two</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A3970D4D1EDC3E836C74040B256D0847" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A3970D4D1EDC3E836C74040B256D0847" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A3970D4D1EDC3E836C74040B256D0847" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_5AFC1BFDD3437804AF6D040B8340BD0D_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_5AFC1BFDD3437804AF6D040B8340BD0D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2020</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_5AFC1BFDD3437804AF6D040B8340BD0D_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_5AFC1BFDD3437804AF6D040B8340BD0D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Three</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_5AFC1BFDD3437804AF6D040B8340BD0D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_5AFC1BFDD3437804AF6D040B8340BD0D" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_5AFC1BFDD3437804AF6D040B8340BD0D" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_AEBC9F7DF43632C863D6040BD25AA070_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_AEBC9F7DF43632C863D6040BD25AA070" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2021</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_AEBC9F7DF43632C863D6040BD25AA070_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_AEBC9F7DF43632C863D6040BD25AA070" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Four</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_AEBC9F7DF43632C863D6040BD25AA070" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_AEBC9F7DF43632C863D6040BD25AA070" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_AEBC9F7DF43632C863D6040BD25AA070" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_57290D75F13626F3C12D040C42FC55BD_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_57290D75F13626F3C12D040C42FC55BD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_57290D75F13626F3C12D040C42FC55BD_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_57290D75F13626F3C12D040C42FC55BD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Five</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_57290D75F13626F3C12D040C42FC55BD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_57290D75F13626F3C12D040C42FC55BD" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_57290D75F13626F3C12D040C42FC55BD" xlink:type="arc" />
    <link:label id="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9_terseLabel_en-US" xlink:label="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2023</link:label>
    <link:label id="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9_label_en-US" xlink:label="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Six</link:label>
    <link:label id="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9_documentation_en-US" xlink:label="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Six</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix" xlink:label="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9" xlink:to="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9" xlink:type="arc" />
    <link:label id="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF_terseLabel_en-US" xlink:label="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF_label_en-US" xlink:label="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, After Year Six</link:label>
    <link:label id="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF_documentation_en-US" xlink:label="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, After Year Six</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix" xlink:label="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF" xlink:to="lab_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF" xlink:type="arc" />
    <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements or Change in Accounting Principle [Table]</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements or Change in Accounting Principle [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:to="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94_terseLabel_en-US" xlink:label="lab_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94_label_en-US" xlink:label="lab_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="loc_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94" xlink:to="lab_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2_terseLabel_en-US" xlink:label="lab_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Scenario, Unspecified [Domain]</link:label>
    <link:label id="lab_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2_label_en-US" xlink:label="lab_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scenario, Unspecified [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="loc_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:to="lab_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScenarioPreviouslyReportedMember_5E451B452045789BFC6D16B40C39ABF5_terseLabel_en-US" xlink:label="lab_us-gaap_ScenarioPreviouslyReportedMember_5E451B452045789BFC6D16B40C39ABF5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">As previously reported</link:label>
    <link:label id="lab_us-gaap_ScenarioPreviouslyReportedMember_5E451B452045789BFC6D16B40C39ABF5_label_en-US" xlink:label="lab_us-gaap_ScenarioPreviouslyReportedMember_5E451B452045789BFC6D16B40C39ABF5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scenario, Previously Reported [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScenarioPreviouslyReportedMember" xlink:label="loc_us-gaap_ScenarioPreviouslyReportedMember_5E451B452045789BFC6D16B40C39ABF5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScenarioPreviouslyReportedMember_5E451B452045789BFC6D16B40C39ABF5" xlink:to="lab_us-gaap_ScenarioPreviouslyReportedMember_5E451B452045789BFC6D16B40C39ABF5" xlink:type="arc" />
    <link:label id="lab_us-gaap_RestatementAdjustmentMember_343366F2DB6E3D038EE316B40C391136_terseLabel_en-US" xlink:label="lab_us-gaap_RestatementAdjustmentMember_343366F2DB6E3D038EE316B40C391136" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustment</link:label>
    <link:label id="lab_us-gaap_RestatementAdjustmentMember_343366F2DB6E3D038EE316B40C391136_label_en-US" xlink:label="lab_us-gaap_RestatementAdjustmentMember_343366F2DB6E3D038EE316B40C391136" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restatement Adjustment [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RestatementAdjustmentMember" xlink:label="loc_us-gaap_RestatementAdjustmentMember_343366F2DB6E3D038EE316B40C391136" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestatementAdjustmentMember_343366F2DB6E3D038EE316B40C391136" xlink:to="lab_us-gaap_RestatementAdjustmentMember_343366F2DB6E3D038EE316B40C391136" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7_terseLabel_en-US" xlink:label="lab_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7_label_en-US" xlink:label="lab_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementGeographicalAxis" xlink:label="loc_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7" xlink:to="lab_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7" xlink:type="arc" />
    <link:label id="lab_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:label id="lab_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D_label_en-US" xlink:label="lab_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:to="lab_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:type="arc" />
    <link:label id="lab_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343_terseLabel_en-US" xlink:label="lab_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Americas</link:label>
    <link:label id="lab_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343_label_en-US" xlink:label="lab_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">North And South America [Member]</link:label>
    <link:label id="lab_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343_documentation_en-US" xlink:label="lab_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">North And South America [Member]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_NorthAndSouthAmericaMember" xlink:label="loc_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343" xlink:to="lab_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343" xlink:type="arc" />
    <link:label id="lab_us-gaap_EuropeMember_20E75EC9C0534F89958516B40C3A2D4D_terseLabel_en-US" xlink:label="lab_us-gaap_EuropeMember_20E75EC9C0534F89958516B40C3A2D4D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Europe</link:label>
    <link:label id="lab_us-gaap_EuropeMember_20E75EC9C0534F89958516B40C3A2D4D_label_en-US" xlink:label="lab_us-gaap_EuropeMember_20E75EC9C0534F89958516B40C3A2D4D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Europe [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EuropeMember" xlink:label="loc_us-gaap_EuropeMember_20E75EC9C0534F89958516B40C3A2D4D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EuropeMember_20E75EC9C0534F89958516B40C3A2D4D" xlink:to="lab_us-gaap_EuropeMember_20E75EC9C0534F89958516B40C3A2D4D" xlink:type="arc" />
    <link:label id="lab_country_CN_65A7E0A75FBF9250E45D16B40C3AB8F4_terseLabel_en-US" xlink:label="lab_country_CN_65A7E0A75FBF9250E45D16B40C3AB8F4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Greater China</link:label>
    <link:label id="lab_country_CN_65A7E0A75FBF9250E45D16B40C3AB8F4_label_en-US" xlink:label="lab_country_CN_65A7E0A75FBF9250E45D16B40C3AB8F4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">CHINA</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CN" xlink:label="loc_country_CN_65A7E0A75FBF9250E45D16B40C3AB8F4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_CN_65A7E0A75FBF9250E45D16B40C3AB8F4" xlink:to="lab_country_CN_65A7E0A75FBF9250E45D16B40C3AB8F4" xlink:type="arc" />
    <link:label id="lab_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52_terseLabel_en-US" xlink:label="lab_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other Asia</link:label>
    <link:label id="lab_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52_label_en-US" xlink:label="lab_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Asia, Excluding China [Member]</link:label>
    <link:label id="lab_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52_documentation_en-US" xlink:label="lab_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Asia, Excluding China [Member]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AsiaExcludingChinaMember" xlink:label="loc_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52" xlink:to="lab_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7_terseLabel_en-US" xlink:label="lab_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Products and Services [Axis]</link:label>
    <link:label id="lab_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7_label_en-US" xlink:label="lab_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Products and Services [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductOrServiceAxis" xlink:label="loc_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7" xlink:to="lab_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18_terseLabel_en-US" xlink:label="lab_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Products and Services [Domain]</link:label>
    <link:label id="lab_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18_label_en-US" xlink:label="lab_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Products and Services [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductsAndServicesDomain" xlink:label="loc_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:to="lab_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:type="arc" />
    <link:label id="lab_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8_terseLabel_en-US" xlink:label="lab_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Standard products and services</link:label>
    <link:label id="lab_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8_label_en-US" xlink:label="lab_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard Products and Services [Member]</link:label>
    <link:label id="lab_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8_documentation_en-US" xlink:label="lab_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Standard Products and Services [Member]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_StandardProductsandServicesMember" xlink:label="loc_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8" xlink:to="lab_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8" xlink:type="arc" />
    <link:label id="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523_terseLabel_en-US" xlink:label="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Application-specific customer solutions</link:label>
    <link:label id="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523_label_en-US" xlink:label="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Application-Specific Customer Solutions [Member]</link:label>
    <link:label id="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523_documentation_en-US" xlink:label="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Application-Specific Customer Solutions [Member]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ApplicationSpecificCustomerSolutionsMember" xlink:label="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523" xlink:to="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523" xlink:type="arc" />
    <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements or Change in Accounting Principle [Line Items]</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements or Change in Accounting Principle [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingIncomeLoss_500CB2E6368EA5533EB216B40C3BF274_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss_500CB2E6368EA5533EB216B40C3BF274" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating income</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_500CB2E6368EA5533EB216B40C3BF274" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss_500CB2E6368EA5533EB216B40C3BF274" xlink:to="lab_us-gaap_OperatingIncomeLoss_500CB2E6368EA5533EB216B40C3BF274" xlink:type="arc" />
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1E47169049A6DB50DB5B16B40C3B8912_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1E47169049A6DB50DB5B16B40C3B8912" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1E47169049A6DB50DB5B16B40C3B8912_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1E47169049A6DB50DB5B16B40C3B8912" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1E47169049A6DB50DB5B16B40C3B8912" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1E47169049A6DB50DB5B16B40C3B8912" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1E47169049A6DB50DB5B16B40C3B8912" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedIncomeTaxesCurrent_42C086CC7955DCEC150716B40C3B7586_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent_42C086CC7955DCEC150716B40C3B7586" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued income taxes</link:label>
    <link:label id="lab_us-gaap_AccruedIncomeTaxesCurrent_42C086CC7955DCEC150716B40C3B7586_label_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent_42C086CC7955DCEC150716B40C3B7586" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Income Taxes, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_42C086CC7955DCEC150716B40C3B7586" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedIncomeTaxesCurrent_42C086CC7955DCEC150716B40C3B7586" xlink:to="lab_us-gaap_AccruedIncomeTaxesCurrent_42C086CC7955DCEC150716B40C3B7586" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredRevenueAndCreditsCurrent_2DF880D12125B8B8BE6316B40C3B8C0B_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueAndCreditsCurrent_2DF880D12125B8B8BE6316B40C3B8C0B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue and customer deposits</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueAndCreditsCurrent_2DF880D12125B8B8BE6316B40C3B8C0B_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueAndCreditsCurrent_2DF880D12125B8B8BE6316B40C3B8C0B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Revenue and Credits, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_2DF880D12125B8B8BE6316B40C3B8C0B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueAndCreditsCurrent_2DF880D12125B8B8BE6316B40C3B8C0B" xlink:to="lab_us-gaap_DeferredRevenueAndCreditsCurrent_2DF880D12125B8B8BE6316B40C3B8C0B" xlink:type="arc" />
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_C1615FE58CA804291B6716B40C3B8C3E_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit_C1615FE58CA804291B6716B40C3B8C3E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Retained earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_C1615FE58CA804291B6716B40C3B8C3E_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit_C1615FE58CA804291B6716B40C3B8C3E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_C1615FE58CA804291B6716B40C3B8C3E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit_C1615FE58CA804291B6716B40C3B8C3E" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit_C1615FE58CA804291B6716B40C3B8C3E" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_C610F65C110247C8635C16B40C3B21F4_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_C610F65C110247C8635C16B40C3B21F4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenues</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_C610F65C110247C8635C16B40C3B21F4_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_C610F65C110247C8635C16B40C3B21F4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_C610F65C110247C8635C16B40C3B21F4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_C610F65C110247C8635C16B40C3B21F4" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_C610F65C110247C8635C16B40C3B21F4" xlink:type="arc" />
    <link:label id="lab_us-gaap_CapitalizedContractCostNet_B6E50B0958CDB0C31DFB16B40C3B705E_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNet_B6E50B0958CDB0C31DFB16B40C3B705E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Costs to fulfill a contract</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostNet_B6E50B0958CDB0C31DFB16B40C3B705E_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNet_B6E50B0958CDB0C31DFB16B40C3B705E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Capitalized Contract Cost, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CapitalizedContractCostNet" xlink:label="loc_us-gaap_CapitalizedContractCostNet_B6E50B0958CDB0C31DFB16B40C3B705E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostNet_B6E50B0958CDB0C31DFB16B40C3B705E" xlink:to="lab_us-gaap_CapitalizedContractCostNet_B6E50B0958CDB0C31DFB16B40C3B705E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A_terseLabel_en-US" xlink:label="lab_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Change in Contract with Customer, Asset [Abstract]</link:label>
    <link:label id="lab_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A_label_en-US" xlink:label="lab_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Change in Contract with Customer, Asset [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ChangeInContractWithCustomerAssetAbstract" xlink:label="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:to="lab_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_8B7015251C7BE0D375E916B40C3BC8C7_periodStartLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability_8B7015251C7BE0D375E916B40C3BC8C7" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance as of December 31, 2017</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_8B7015251C7BE0D375E916B40C3BC8C7_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability_8B7015251C7BE0D375E916B40C3BC8C7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaap_ContractWithCustomerLiability_8B7015251C7BE0D375E916B40C3BC8C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiability_8B7015251C7BE0D375E916B40C3BC8C7" xlink:to="lab_us-gaap_ContractWithCustomerLiability_8B7015251C7BE0D375E916B40C3BC8C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_A71BA3EF3951A9F8595016B40C3BC7A3_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_A71BA3EF3951A9F8595016B40C3BC7A3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increases to deferred revenue and customer deposits</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_A71BA3EF3951A9F8595016B40C3BC7A3_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_A71BA3EF3951A9F8595016B40C3BC7A3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_A71BA3EF3951A9F8595016B40C3BC7A3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_A71BA3EF3951A9F8595016B40C3BC7A3" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_A71BA3EF3951A9F8595016B40C3BC7A3" xlink:type="arc" />
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_C153CF093BF1A56CFE8816B40C3C49F4_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_C153CF093BF1A56CFE8816B40C3C49F4" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Recognition of revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_C153CF093BF1A56CFE8816B40C3C49F4_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_C153CF093BF1A56CFE8816B40C3C49F4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_C153CF093BF1A56CFE8816B40C3C49F4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_C153CF093BF1A56CFE8816B40C3C49F4" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_C153CF093BF1A56CFE8816B40C3C49F4" xlink:type="arc" />
    <link:label id="lab_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_7BC0AC8E35254CFFE6CF16B40C3C4E1A_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_7BC0AC8E35254CFFE6CF16B40C3C4E1A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign exchange rate changes</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_7BC0AC8E35254CFFE6CF16B40C3C4E1A_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_7BC0AC8E35254CFFE6CF16B40C3C4E1A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Asset, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:label="loc_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_7BC0AC8E35254CFFE6CF16B40C3C4E1A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_7BC0AC8E35254CFFE6CF16B40C3C4E1A" xlink:to="lab_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_7BC0AC8E35254CFFE6CF16B40C3C4E1A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_5732AB3CEBE03A4099CD16B40C3CC91C_periodEndLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability_5732AB3CEBE03A4099CD16B40C3CC91C" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance as of April 1, 2018</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaap_ContractWithCustomerLiability_5732AB3CEBE03A4099CD16B40C3CC91C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiability_5732AB3CEBE03A4099CD16B40C3CC91C" xlink:to="lab_us-gaap_ContractWithCustomerLiability_5732AB3CEBE03A4099CD16B40C3CC91C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_44A6508435DE3A574310F96C1241E968_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_44A6508435DE3A574310F96C1241E968" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Assets and Liabilities Measured at Fair Value on a Recurring Basis</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_44A6508435DE3A574310F96C1241E968_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_44A6508435DE3A574310F96C1241E968" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_44A6508435DE3A574310F96C1241E968" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_44A6508435DE3A574310F96C1241E968" xlink:to="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_44A6508435DE3A574310F96C1241E968" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_77357C8D00BC8104A8EBF96C1241FE2C_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_77357C8D00BC8104A8EBF96C1241FE2C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_77357C8D00BC8104A8EBF96C1241FE2C_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_77357C8D00BC8104A8EBF96C1241FE2C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_77357C8D00BC8104A8EBF96C1241FE2C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_77357C8D00BC8104A8EBF96C1241FE2C" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_77357C8D00BC8104A8EBF96C1241FE2C" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_D609F6FBC58A7EC5A4A9F96DDB6C7904_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_D609F6FBC58A7EC5A4A9F96DDB6C7904" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_D609F6FBC58A7EC5A4A9F96DDB6C7904" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_D609F6FBC58A7EC5A4A9F96DDB6C7904" xlink:to="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_D609F6FBC58A7EC5A4A9F96DDB6C7904" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetIncomeLoss_DD19E4E070B3EB9C52A3F96DDB6D9698_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss_DD19E4E070B3EB9C52A3F96DDB6D9698" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_DD19E4E070B3EB9C52A3F96DDB6D9698_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss_DD19E4E070B3EB9C52A3F96DDB6D9698" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_DD19E4E070B3EB9C52A3F96DDB6D9698" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss_DD19E4E070B3EB9C52A3F96DDB6D9698" xlink:to="lab_us-gaap_NetIncomeLoss_DD19E4E070B3EB9C52A3F96DDB6D9698" xlink:type="arc" />
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8_terseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other comprehensive income (loss), net of tax:</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8" xlink:type="arc" />
    <link:label id="lab_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C_terseLabel_en-US" xlink:label="lab_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flow hedges:</link:label>
    <link:label id="lab_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C_label_en-US" xlink:label="lab_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash flows hedges [Abstract]</link:label>
    <link:label id="lab_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C_documentation_en-US" xlink:label="lab_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Cash flows hedges [Abstract]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_CashflowshedgesAbstract" xlink:label="loc_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C" xlink:to="lab_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_28A8E7D06D8FE764C862F96DDB6D33CF_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_28A8E7D06D8FE764C862F96DDB6D33CF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized gain (loss), net of tax of $0 and ($4) in 2018 and 2017, respectively</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_28A8E7D06D8FE764C862F96DDB6D33CF_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_28A8E7D06D8FE764C862F96DDB6D33CF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_28A8E7D06D8FE764C862F96DDB6D33CF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_28A8E7D06D8FE764C862F96DDB6D33CF" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_28A8E7D06D8FE764C862F96DDB6D33CF" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_A49728BDE715E8A884BEF96DDB6D943C_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_A49728BDE715E8A884BEF96DDB6D943C" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Reclassification of net realized (gain) loss into current operations</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_A49728BDE715E8A884BEF96DDB6D943C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_A49728BDE715E8A884BEF96DDB6D943C" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_A49728BDE715E8A884BEF96DDB6D943C" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_825B793DD08BC72AAF60F96DDB6D8EAA_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_825B793DD08BC72AAF60F96DDB6D8EAA" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net change related to cash flow hedges</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_825B793DD08BC72AAF60F96DDB6D8EAA_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_825B793DD08BC72AAF60F96DDB6D8EAA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_825B793DD08BC72AAF60F96DDB6D8EAA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_825B793DD08BC72AAF60F96DDB6D8EAA" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_825B793DD08BC72AAF60F96DDB6D8EAA" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_73DAA5FF6F1D7EA6E6FCF96DDB6DA4A9_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_73DAA5FF6F1D7EA6E6FCF96DDB6DA4A9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Available-for-sale investments:</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_73DAA5FF6F1D7EA6E6FCF96DDB6DA4A9_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_73DAA5FF6F1D7EA6E6FCF96DDB6DA4A9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_73DAA5FF6F1D7EA6E6FCF96DDB6DA4A9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_73DAA5FF6F1D7EA6E6FCF96DDB6DA4A9" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_73DAA5FF6F1D7EA6E6FCF96DDB6DA4A9" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_8DA4C7E69E840A63968EF96DDB6DE1F9_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_8DA4C7E69E840A63968EF96DDB6DE1F9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized gain (loss), net of tax of ($114) and $92 in 2018 and 2017, respectively</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_8DA4C7E69E840A63968EF96DDB6DE1F9_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_8DA4C7E69E840A63968EF96DDB6DE1F9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_8DA4C7E69E840A63968EF96DDB6DE1F9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_8DA4C7E69E840A63968EF96DDB6DE1F9" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_8DA4C7E69E840A63968EF96DDB6DE1F9" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_78C33240CCBC2EBC1B50F96DDB6DB90C_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_78C33240CCBC2EBC1B50F96DDB6DB90C" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Reclassification of net realized (gain) loss into current operations</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_78C33240CCBC2EBC1B50F96DDB6DB90C_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_78C33240CCBC2EBC1B50F96DDB6DB90C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_78C33240CCBC2EBC1B50F96DDB6DB90C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_78C33240CCBC2EBC1B50F96DDB6DB90C" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_78C33240CCBC2EBC1B50F96DDB6DB90C" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_ADBA1D5015E6474FC283F96DDB6DF987_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_ADBA1D5015E6474FC283F96DDB6DF987" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net change related to available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_ADBA1D5015E6474FC283F96DDB6DF987_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_ADBA1D5015E6474FC283F96DDB6DF987" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_ADBA1D5015E6474FC283F96DDB6DF987" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_ADBA1D5015E6474FC283F96DDB6DF987" xlink:to="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_ADBA1D5015E6474FC283F96DDB6DF987" xlink:type="arc" />
    <link:label id="lab_cgnx_CurrencytranslationadjustmentsAbstract_77975DAE44482F16CC37F96DDB6D0386_terseLabel_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentsAbstract_77975DAE44482F16CC37F96DDB6D0386" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustments:</link:label>
    <link:label id="lab_cgnx_CurrencytranslationadjustmentsAbstract_77975DAE44482F16CC37F96DDB6D0386_label_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentsAbstract_77975DAE44482F16CC37F96DDB6D0386" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Currency translation adjustments [Abstract]</link:label>
    <link:label id="lab_cgnx_CurrencytranslationadjustmentsAbstract_77975DAE44482F16CC37F96DDB6D0386_documentation_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentsAbstract_77975DAE44482F16CC37F96DDB6D0386" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Currency translation adjustments [Abstract]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_CurrencytranslationadjustmentsAbstract" xlink:label="loc_cgnx_CurrencytranslationadjustmentsAbstract_77975DAE44482F16CC37F96DDB6D0386" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CurrencytranslationadjustmentsAbstract_77975DAE44482F16CC37F96DDB6D0386" xlink:to="lab_cgnx_CurrencytranslationadjustmentsAbstract_77975DAE44482F16CC37F96DDB6D0386" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3BC32B7334CB0089312CF96DDB6E58B3_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3BC32B7334CB0089312CF96DDB6E58B3" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3BC32B7334CB0089312CF96DDB6E58B3_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3BC32B7334CB0089312CF96DDB6E58B3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3BC32B7334CB0089312CF96DDB6E58B3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3BC32B7334CB0089312CF96DDB6E58B3" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3BC32B7334CB0089312CF96DDB6E58B3" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_080A973424F8BBEF8D67F96DDB6E1BB7_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_080A973424F8BBEF8D67F96DDB6E1BB7" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Other comprehensive income (loss), net of tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_080A973424F8BBEF8D67F96DDB6E1BB7_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_080A973424F8BBEF8D67F96DDB6E1BB7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_080A973424F8BBEF8D67F96DDB6E1BB7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_080A973424F8BBEF8D67F96DDB6E1BB7" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_080A973424F8BBEF8D67F96DDB6E1BB7" xlink:type="arc" />
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_41E493529D4D1DCC9784F96DDB6EFF73_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax_41E493529D4D1DCC9784F96DDB6EFF73" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total comprehensive income</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_41E493529D4D1DCC9784F96DDB6EFF73_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax_41E493529D4D1DCC9784F96DDB6EFF73" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_41E493529D4D1DCC9784F96DDB6EFF73" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_41E493529D4D1DCC9784F96DDB6EFF73" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax_41E493529D4D1DCC9784F96DDB6EFF73" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueRecognitionPolicyTextBlock_5240BDC9BDE6084094D603DB9E29C4DE_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRecognitionPolicyTextBlock_5240BDC9BDE6084094D603DB9E29C4DE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue Recognition</link:label>
    <link:label id="lab_us-gaap_RevenueRecognitionPolicyTextBlock_5240BDC9BDE6084094D603DB9E29C4DE_label_en-US" xlink:label="lab_us-gaap_RevenueRecognitionPolicyTextBlock_5240BDC9BDE6084094D603DB9E29C4DE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue Recognition, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock_5240BDC9BDE6084094D603DB9E29C4DE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRecognitionPolicyTextBlock_5240BDC9BDE6084094D603DB9E29C4DE" xlink:to="lab_us-gaap_RevenueRecognitionPolicyTextBlock_5240BDC9BDE6084094D603DB9E29C4DE" xlink:type="arc" />
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_E37BFB99337D9FC85EA203DCC8D8488D_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_E37BFB99337D9FC85EA203DCC8D8488D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">New Pronouncements</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_E37BFB99337D9FC85EA203DCC8D8488D_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_E37BFB99337D9FC85EA203DCC8D8488D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_E37BFB99337D9FC85EA203DCC8D8488D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_E37BFB99337D9FC85EA203DCC8D8488D" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_E37BFB99337D9FC85EA203DCC8D8488D" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative [Table]</link:label>
    <link:label id="lab_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39_label_en-US" xlink:label="lab_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:to="lab_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:type="arc" />
    <link:label id="lab_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700_terseLabel_en-US" xlink:label="lab_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Currency [Axis]</link:label>
    <link:label id="lab_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700_label_en-US" xlink:label="lab_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Currency [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CurrencyAxis" xlink:label="loc_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700" xlink:to="lab_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700" xlink:type="arc" />
    <link:label id="lab_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF_terseLabel_en-US" xlink:label="lab_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">All Currencies [Domain]</link:label>
    <link:label id="lab_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF_label_en-US" xlink:label="lab_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">All Currencies [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_AllCurrenciesDomain" xlink:label="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="lab_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:type="arc" />
    <link:label id="lab_currency_JPY_17741671DC7A1F3927BD03C815D7552F_terseLabel_en-US" xlink:label="lab_currency_JPY_17741671DC7A1F3927BD03C815D7552F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Japanese Yen</link:label>
    <link:label id="lab_currency_JPY_17741671DC7A1F3927BD03C815D7552F_label_en-US" xlink:label="lab_currency_JPY_17741671DC7A1F3927BD03C815D7552F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Japan, Yen</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_JPY" xlink:label="loc_currency_JPY_17741671DC7A1F3927BD03C815D7552F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_JPY_17741671DC7A1F3927BD03C815D7552F" xlink:to="lab_currency_JPY_17741671DC7A1F3927BD03C815D7552F" xlink:type="arc" />
    <link:label id="lab_currency_CHF_AD1F154A1B0B1B1E43C70417849FD033_terseLabel_en-US" xlink:label="lab_currency_CHF_AD1F154A1B0B1B1E43C70417849FD033" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Swiss Franc</link:label>
    <link:label id="lab_currency_CHF_AD1F154A1B0B1B1E43C70417849FD033_label_en-US" xlink:label="lab_currency_CHF_AD1F154A1B0B1B1E43C70417849FD033" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Switzerland, Francs</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_CHF" xlink:label="loc_currency_CHF_AD1F154A1B0B1B1E43C70417849FD033" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_CHF_AD1F154A1B0B1B1E43C70417849FD033" xlink:to="lab_currency_CHF_AD1F154A1B0B1B1E43C70417849FD033" xlink:type="arc" />
    <link:label id="lab_currency_GBP_CD0980D798E3F8D566FE03C815D72904_terseLabel_en-US" xlink:label="lab_currency_GBP_CD0980D798E3F8D566FE03C815D72904" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">British Pound</link:label>
    <link:label id="lab_currency_GBP_CD0980D798E3F8D566FE03C815D72904_label_en-US" xlink:label="lab_currency_GBP_CD0980D798E3F8D566FE03C815D72904" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">United Kingdom, Pounds</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_GBP" xlink:label="loc_currency_GBP_CD0980D798E3F8D566FE03C815D72904" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_GBP_CD0980D798E3F8D566FE03C815D72904" xlink:to="lab_currency_GBP_CD0980D798E3F8D566FE03C815D72904" xlink:type="arc" />
    <link:label id="lab_currency_HUF_D68898EC3746B6DA5E7403C815D78B5A_terseLabel_en-US" xlink:label="lab_currency_HUF_D68898EC3746B6DA5E7403C815D78B5A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Hungarian Forint</link:label>
    <link:label id="lab_currency_HUF_D68898EC3746B6DA5E7403C815D78B5A_label_en-US" xlink:label="lab_currency_HUF_D68898EC3746B6DA5E7403C815D78B5A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hungary, Forint</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_HUF" xlink:label="loc_currency_HUF_D68898EC3746B6DA5E7403C815D78B5A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_HUF_D68898EC3746B6DA5E7403C815D78B5A" xlink:to="lab_currency_HUF_D68898EC3746B6DA5E7403C815D78B5A" xlink:type="arc" />
    <link:label id="lab_currency_TWD_3B3EAF0C2989E50D492B03C815D7C3EA_terseLabel_en-US" xlink:label="lab_currency_TWD_3B3EAF0C2989E50D492B03C815D7C3EA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Taiwanese Dollar</link:label>
    <link:label id="lab_currency_TWD_3B3EAF0C2989E50D492B03C815D7C3EA_label_en-US" xlink:label="lab_currency_TWD_3B3EAF0C2989E50D492B03C815D7C3EA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Taiwan, New Dollars</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_TWD" xlink:label="loc_currency_TWD_3B3EAF0C2989E50D492B03C815D7C3EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_TWD_3B3EAF0C2989E50D492B03C815D7C3EA" xlink:to="lab_currency_TWD_3B3EAF0C2989E50D492B03C815D7C3EA" xlink:type="arc" />
    <link:label id="lab_currency_KRW_540E111D71AD7A4A0F6B03C815D78EF4_terseLabel_en-US" xlink:label="lab_currency_KRW_540E111D71AD7A4A0F6B03C815D78EF4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Korean Won</link:label>
    <link:label id="lab_currency_KRW_540E111D71AD7A4A0F6B03C815D78EF4_label_en-US" xlink:label="lab_currency_KRW_540E111D71AD7A4A0F6B03C815D78EF4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Korea (South), Won</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_KRW" xlink:label="loc_currency_KRW_540E111D71AD7A4A0F6B03C815D78EF4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_KRW_540E111D71AD7A4A0F6B03C815D78EF4" xlink:to="lab_currency_KRW_540E111D71AD7A4A0F6B03C815D78EF4" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308_label_en-US" xlink:label="lab_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308" xlink:to="lab_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssetNotionalAmount_A8784E3020C0F8AB036403C815D76B94_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssetNotionalAmount_A8784E3020C0F8AB036403C815D76B94" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Outstanding forward contracts</link:label>
    <link:label id="lab_us-gaap_DerivativeAssetNotionalAmount_A8784E3020C0F8AB036403C815D76B94_label_en-US" xlink:label="lab_us-gaap_DerivativeAssetNotionalAmount_A8784E3020C0F8AB036403C815D76B94" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset, Notional Amount</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssetNotionalAmount" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_A8784E3020C0F8AB036403C815D76B94" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssetNotionalAmount_A8784E3020C0F8AB036403C815D76B94" xlink:to="lab_us-gaap_DerivativeAssetNotionalAmount_A8784E3020C0F8AB036403C815D76B94" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2" xlink:type="arc" />
    <link:label id="lab_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153" xlink:to="lab_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Award [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Award [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83" xlink:type="arc" />
    <link:label id="lab_us-gaap_RestrictedStockMember_BE222A3205713DC9B2A2F96DDABCC62E_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember_BE222A3205713DC9B2A2F96DDABCC62E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restricted Stock</link:label>
    <link:label id="lab_us-gaap_RestrictedStockMember_BE222A3205713DC9B2A2F96DDABCC62E_label_en-US" xlink:label="lab_us-gaap_RestrictedStockMember_BE222A3205713DC9B2A2F96DDABCC62E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_BE222A3205713DC9B2A2F96DDABCC62E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember_BE222A3205713DC9B2A2F96DDABCC62E" xlink:to="lab_us-gaap_RestrictedStockMember_BE222A3205713DC9B2A2F96DDABCC62E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares (in thousands)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0267BD9377F569A5BFEFF96DDABD2159_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0267BD9377F569A5BFEFF96DDABD2159" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Nonvested, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0267BD9377F569A5BFEFF96DDABD2159_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0267BD9377F569A5BFEFF96DDABD2159" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0267BD9377F569A5BFEFF96DDABD2159" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0267BD9377F569A5BFEFF96DDABD2159" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0267BD9377F569A5BFEFF96DDABD2159" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_07E3D2BC9A9A5F7F4BB6F96DDABD95FB_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_07E3D2BC9A9A5F7F4BB6F96DDABD95FB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Granted, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_07E3D2BC9A9A5F7F4BB6F96DDABD95FB_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_07E3D2BC9A9A5F7F4BB6F96DDABD95FB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_07E3D2BC9A9A5F7F4BB6F96DDABD95FB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_07E3D2BC9A9A5F7F4BB6F96DDABD95FB" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_07E3D2BC9A9A5F7F4BB6F96DDABD95FB" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_33AB32A14260BE2255E0F96DDABDFD06_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_33AB32A14260BE2255E0F96DDABDFD06" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Vested, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_33AB32A14260BE2255E0F96DDABDFD06_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_33AB32A14260BE2255E0F96DDABDFD06" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_33AB32A14260BE2255E0F96DDABDFD06" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_33AB32A14260BE2255E0F96DDABDFD06" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_33AB32A14260BE2255E0F96DDABDFD06" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_119710F4D8418D389141F96DDABD57A1_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_119710F4D8418D389141F96DDABD57A1" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Forfeited or expired, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_119710F4D8418D389141F96DDABD57A1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_119710F4D8418D389141F96DDABD57A1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_119710F4D8418D389141F96DDABD57A1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_119710F4D8418D389141F96DDABD57A1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_119710F4D8418D389141F96DDABD57A1" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_D8C3396F4BB53110B78CF96DDABD4854_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_D8C3396F4BB53110B78CF96DDABD4854" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Nonvested, shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_D8C3396F4BB53110B78CF96DDABD4854" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_D8C3396F4BB53110B78CF96DDABD4854" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_D8C3396F4BB53110B78CF96DDABD4854" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted-Average Grant Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_198EEE25CB53643B3AABF96DDABD867E_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_198EEE25CB53643B3AABF96DDABD867E" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Nonvested, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_198EEE25CB53643B3AABF96DDABD867E_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_198EEE25CB53643B3AABF96DDABD867E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_198EEE25CB53643B3AABF96DDABD867E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_198EEE25CB53643B3AABF96DDABD867E" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_198EEE25CB53643B3AABF96DDABD867E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_BAB8E19631C8125B6E8EF96DDABDDEA9_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_BAB8E19631C8125B6E8EF96DDABDDEA9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Granted, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_BAB8E19631C8125B6E8EF96DDABDDEA9_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_BAB8E19631C8125B6E8EF96DDABDDEA9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_BAB8E19631C8125B6E8EF96DDABDDEA9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_BAB8E19631C8125B6E8EF96DDABDDEA9" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_BAB8E19631C8125B6E8EF96DDABDDEA9" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_4B70A600E4653CDD8E02F96DDABDD43D_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_4B70A600E4653CDD8E02F96DDABDD43D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vested, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_4B70A600E4653CDD8E02F96DDABDD43D_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_4B70A600E4653CDD8E02F96DDABDD43D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_4B70A600E4653CDD8E02F96DDABDD43D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_4B70A600E4653CDD8E02F96DDABDD43D" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_4B70A600E4653CDD8E02F96DDABDD43D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_7EC7C01D0B2D3B8B5102F96DDABDCB58_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_7EC7C01D0B2D3B8B5102F96DDABDCB58" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Forfeited or expired, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_7EC7C01D0B2D3B8B5102F96DDABDCB58_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_7EC7C01D0B2D3B8B5102F96DDABDCB58" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_7EC7C01D0B2D3B8B5102F96DDABDCB58" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_7EC7C01D0B2D3B8B5102F96DDABDCB58" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_7EC7C01D0B2D3B8B5102F96DDABDCB58" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC913C1AB07C8B60916F96DDABDA41A_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC913C1AB07C8B60916F96DDABDA41A" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Nonvested, in dollars per share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC913C1AB07C8B60916F96DDABDA41A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC913C1AB07C8B60916F96DDABDA41A" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC913C1AB07C8B60916F96DDABDA41A" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Aggregate Intrinsic Value (in thousands)(1)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_7625F37820B51DA7B1FEF96DDABDDEE0_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_7625F37820B51DA7B1FEF96DDABDDEE0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Nonvested as of April 1, 2018</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_7625F37820B51DA7B1FEF96DDABDDEE0_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_7625F37820B51DA7B1FEF96DDABDDEE0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Nonvested</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_7625F37820B51DA7B1FEF96DDABDDEE0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_7625F37820B51DA7B1FEF96DDABDDEE0" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_7625F37820B51DA7B1FEF96DDABDDEE0" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_145E6DFE385540682134041CFE6CA70F_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_145E6DFE385540682134041CFE6CA70F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Adoption of New Accounting Principles</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_145E6DFE385540682134041CFE6CA70F_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_145E6DFE385540682134041CFE6CA70F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of New Accounting Pronouncements and Changes in Accounting Principles [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_145E6DFE385540682134041CFE6CA70F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_145E6DFE385540682134041CFE6CA70F" xlink:to="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_145E6DFE385540682134041CFE6CA70F" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_764C86C6B1BE016CEC04041E8F503C91_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_764C86C6B1BE016CEC04041E8F503C91" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disaggregation of Revenue</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_764C86C6B1BE016CEC04041E8F503C91_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_764C86C6B1BE016CEC04041E8F503C91" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_764C86C6B1BE016CEC04041E8F503C91" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_764C86C6B1BE016CEC04041E8F503C91" xlink:to="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_764C86C6B1BE016CEC04041E8F503C91" xlink:type="arc" />
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_9CF6E8F1D1644D856F8E04201A0CBD1B_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_9CF6E8F1D1644D856F8E04201A0CBD1B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Summary of Deferred Revenue and Customer Deposits Activity</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_9CF6E8F1D1644D856F8E04201A0CBD1B_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_9CF6E8F1D1644D856F8E04201A0CBD1B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Asset and Liability [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_9CF6E8F1D1644D856F8E04201A0CBD1B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_9CF6E8F1D1644D856F8E04201A0CBD1B" xlink:to="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_9CF6E8F1D1644D856F8E04201A0CBD1B" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:to="lab_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B_terseLabel_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Axis]</link:label>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B_label_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B" xlink:to="lab_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754_terseLabel_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754_label_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754" xlink:to="lab_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754" xlink:type="arc" />
    <link:label id="lab_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B_terseLabel_en-US" xlink:label="lab_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">General Stock Option Plan</link:label>
    <link:label id="lab_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B_label_en-US" xlink:label="lab_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General Stock Option Plan [Member]</link:label>
    <link:label id="lab_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B_documentation_en-US" xlink:label="lab_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">General stock option plan.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_GeneralStockOptionPlanMember" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B" xlink:to="lab_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE" xlink:to="lab_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7" xlink:to="lab_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventMember_ACFB68EFB5288B1F76E9090506CA7173_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventMember_ACFB68EFB5288B1F76E9090506CA7173" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event</link:label>
    <link:label id="lab_us-gaap_SubsequentEventMember_ACFB68EFB5288B1F76E9090506CA7173_label_en-US" xlink:label="lab_us-gaap_SubsequentEventMember_ACFB68EFB5288B1F76E9090506CA7173" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_ACFB68EFB5288B1F76E9090506CA7173" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventMember_ACFB68EFB5288B1F76E9090506CA7173" xlink:to="lab_us-gaap_SubsequentEventMember_ACFB68EFB5288B1F76E9090506CA7173" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880_label_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:to="lab_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_CF1F82E42948C9DBD79B090506CAD477_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_CF1F82E42948C9DBD79B090506CAD477" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Authorized common stock to be repurchased</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_CF1F82E42948C9DBD79B090506CAD477_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_CF1F82E42948C9DBD79B090506CAD477" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Authorized Amount</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_CF1F82E42948C9DBD79B090506CAD477" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_CF1F82E42948C9DBD79B090506CAD477" xlink:to="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_CF1F82E42948C9DBD79B090506CAD477" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareDeclared_ABA0E9C6961BC9E9B3AE090506CA7878_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareDeclared_ABA0E9C6961BC9E9B3AE090506CA7878" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Dividends (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareDeclared_ABA0E9C6961BC9E9B3AE090506CA7878_label_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareDeclared_ABA0E9C6961BC9E9B3AE090506CA7878" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Dividends, Per Share, Declared</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="loc_us-gaap_CommonStockDividendsPerShareDeclared_ABA0E9C6961BC9E9B3AE090506CA7878" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockDividendsPerShareDeclared_ABA0E9C6961BC9E9B3AE090506CA7878" xlink:to="lab_us-gaap_CommonStockDividendsPerShareDeclared_ABA0E9C6961BC9E9B3AE090506CA7878" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_123D315615A3883B2A22090506CA7178_terseLabel_en-US" xlink:label="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_123D315615A3883B2A22090506CA7178" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Dividends payable, date payable</link:label>
    <link:label id="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_123D315615A3883B2A22090506CA7178_label_en-US" xlink:label="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_123D315615A3883B2A22090506CA7178" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dividends Payable, Date to be Paid</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:label="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_123D315615A3883B2A22090506CA7178" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_123D315615A3883B2A22090506CA7178" xlink:to="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_123D315615A3883B2A22090506CA7178" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_CB9E947A85C440E3FDAD090506CA97B5_terseLabel_en-US" xlink:label="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_CB9E947A85C440E3FDAD090506CA97B5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Dividends payable, date of record</link:label>
    <link:label id="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_CB9E947A85C440E3FDAD090506CA97B5_label_en-US" xlink:label="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_CB9E947A85C440E3FDAD090506CA97B5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dividends Payable, Date of Record</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_CB9E947A85C440E3FDAD090506CA97B5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_CB9E947A85C440E3FDAD090506CA97B5" xlink:to="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_CB9E947A85C440E3FDAD090506CA97B5" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Investment Type [Axis]</link:label>
    <link:label id="lab_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741_label_en-US" xlink:label="lab_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investment Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeAxis" xlink:label="loc_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741" xlink:to="lab_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Investments [Domain]</link:label>
    <link:label id="lab_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98_label_en-US" xlink:label="lab_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investments [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:to="lab_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShortTermInvestmentsMember_1CABE9353B0A27C146E703C816385CFD_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermInvestmentsMember_1CABE9353B0A27C146E703C816385CFD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Short-Term Investments</link:label>
    <link:label id="lab_us-gaap_ShortTermInvestmentsMember_1CABE9353B0A27C146E703C816385CFD_label_en-US" xlink:label="lab_us-gaap_ShortTermInvestmentsMember_1CABE9353B0A27C146E703C816385CFD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Short-term Investments [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShortTermInvestmentsMember" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_1CABE9353B0A27C146E703C816385CFD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermInvestmentsMember_1CABE9353B0A27C146E703C816385CFD" xlink:to="lab_us-gaap_ShortTermInvestmentsMember_1CABE9353B0A27C146E703C816385CFD" xlink:type="arc" />
    <link:label id="lab_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410_terseLabel_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-Term Investments</link:label>
    <link:label id="lab_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410_label_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long Term Investments [Member]</link:label>
    <link:label id="lab_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410_documentation_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Long-term investments.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_LongTermInvestmentsMember" xlink:label="loc_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410" xlink:to="lab_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6372B78CD1C61386B18A03C81638C25D_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6372B78CD1C61386B18A03C81638C25D" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Amortized cost</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6372B78CD1C61386B18A03C81638C25D_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6372B78CD1C61386B18A03C81638C25D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Debt Securities, Amortized Cost Basis</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6372B78CD1C61386B18A03C81638C25D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6372B78CD1C61386B18A03C81638C25D" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6372B78CD1C61386B18A03C81638C25D" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_002629E0BF9CC5CE597503C81638E7C3_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_002629E0BF9CC5CE597503C81638E7C3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross unrealized gains</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_002629E0BF9CC5CE597503C81638E7C3_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_002629E0BF9CC5CE597503C81638E7C3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_002629E0BF9CC5CE597503C81638E7C3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_002629E0BF9CC5CE597503C81638E7C3" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_002629E0BF9CC5CE597503C81638E7C3" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_69BFB422428741C3F15703C8163847E4_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_69BFB422428741C3F15703C8163847E4" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Gross unrealized losses</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_69BFB422428741C3F15703C8163847E4_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_69BFB422428741C3F15703C8163847E4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Debt Securities, Accumulated Gross Unrealized Loss, before Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_69BFB422428741C3F15703C8163847E4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_69BFB422428741C3F15703C8163847E4" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_69BFB422428741C3F15703C8163847E4" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecurities_BB3CBC62F571064F9DD203C8163834E3_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecurities_BB3CBC62F571064F9DD203C8163834E3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecurities_BB3CBC62F571064F9DD203C8163834E3_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecurities_BB3CBC62F571064F9DD203C8163834E3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecurities_BB3CBC62F571064F9DD203C8163834E3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecurities_BB3CBC62F571064F9DD203C8163834E3" xlink:to="lab_us-gaap_AvailableForSaleSecurities_BB3CBC62F571064F9DD203C8163834E3" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_558108AA6AF3B87E918803C8169511BD_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract_558108AA6AF3B87E918803C8169511BD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_558108AA6AF3B87E918803C8169511BD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_558108AA6AF3B87E918803C8169511BD" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract_558108AA6AF3B87E918803C8169511BD" xlink:type="arc" />
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_84446CC19B511511321603C81695924A_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_84446CC19B511511321603C81695924A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reserves for accounts receivable</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_84446CC19B511511321603C81695924A_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_84446CC19B511511321603C81695924A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Allowance for Doubtful Accounts Receivable, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_84446CC19B511511321603C81695924A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_84446CC19B511511321603C81695924A" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_84446CC19B511511321603C81695924A" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_C9CB86A54FAD0AA1A2C603C81695BB6B_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare_C9CB86A54FAD0AA1A2C603C81695BB6B" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Common stock, par value</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_C9CB86A54FAD0AA1A2C603C81695BB6B_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare_C9CB86A54FAD0AA1A2C603C81695BB6B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_C9CB86A54FAD0AA1A2C603C81695BB6B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare_C9CB86A54FAD0AA1A2C603C81695BB6B" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare_C9CB86A54FAD0AA1A2C603C81695BB6B" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_0B0C7182A028ECF44A8E03C816953CC0_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized_0B0C7182A028ECF44A8E03C816953CC0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, shares authorized</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_0B0C7182A028ECF44A8E03C816953CC0_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized_0B0C7182A028ECF44A8E03C816953CC0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_0B0C7182A028ECF44A8E03C816953CC0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized_0B0C7182A028ECF44A8E03C816953CC0" xlink:to="lab_us-gaap_CommonStockSharesAuthorized_0B0C7182A028ECF44A8E03C816953CC0" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesIssued_CDE61340D2D748558F0103C8169568F4_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_CDE61340D2D748558F0103C8169568F4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, shares issued</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_CDE61340D2D748558F0103C8169568F4_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_CDE61340D2D748558F0103C8169568F4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_CDE61340D2D748558F0103C8169568F4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued_CDE61340D2D748558F0103C8169568F4" xlink:to="lab_us-gaap_CommonStockSharesIssued_CDE61340D2D748558F0103C8169568F4" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_F91A75C5B684D31A3B1A03CF2363A3D4_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding_F91A75C5B684D31A3B1A03CF2363A3D4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, shares outstanding</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_F91A75C5B684D31A3B1A03CF2363A3D4_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding_F91A75C5B684D31A3B1A03CF2363A3D4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_F91A75C5B684D31A3B1A03CF2363A3D4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding_F91A75C5B684D31A3B1A03CF2363A3D4" xlink:to="lab_us-gaap_CommonStockSharesOutstanding_F91A75C5B684D31A3B1A03CF2363A3D4" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_B8697D287906B0B4099BF96C1218BC3C_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract_B8697D287906B0B4099BF96C1218BC3C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_B8697D287906B0B4099BF96C1218BC3C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_B8697D287906B0B4099BF96C1218BC3C" xlink:to="lab_us-gaap_InventoryDisclosureAbstract_B8697D287906B0B4099BF96C1218BC3C" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_84AA26C2D5AE9A4314D8F96C121887EA_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock_84AA26C2D5AE9A4314D8F96C121887EA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_84AA26C2D5AE9A4314D8F96C121887EA_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock_84AA26C2D5AE9A4314D8F96C121887EA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_84AA26C2D5AE9A4314D8F96C121887EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock_84AA26C2D5AE9A4314D8F96C121887EA" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock_84AA26C2D5AE9A4314D8F96C121887EA" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_035596AF3FA3C59AC078F96C12380F2C_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_035596AF3FA3C59AC078F96C12380F2C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Calculation of Weighted-Average Shares</link:label>
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_035596AF3FA3C59AC078F96C12380F2C_label_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_035596AF3FA3C59AC078F96C12380F2C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Weighted Average Number of Shares [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_035596AF3FA3C59AC078F96C12380F2C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_035596AF3FA3C59AC078F96C12380F2C" xlink:to="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_035596AF3FA3C59AC078F96C12380F2C" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_EF7C20BE0823E8DC0C76F96C12976BE0_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_EF7C20BE0823E8DC0C76F96C12976BE0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax effect on cash flow hedges</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_EF7C20BE0823E8DC0C76F96C12976BE0_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_EF7C20BE0823E8DC0C76F96C12976BE0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_EF7C20BE0823E8DC0C76F96C12976BE0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_EF7C20BE0823E8DC0C76F96C12976BE0" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_EF7C20BE0823E8DC0C76F96C12976BE0" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C7F62AF63199973B7654F96C1297F0CF_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C7F62AF63199973B7654F96C1297F0CF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax effect of unrealized gain (loss) on available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C7F62AF63199973B7654F96C1297F0CF_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C7F62AF63199973B7654F96C1297F0CF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C7F62AF63199973B7654F96C1297F0CF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C7F62AF63199973B7654F96C1297F0CF" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C7F62AF63199973B7654F96C1297F0CF" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_D8D45D89CEA583C756D3F96C1297B9BD_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_D8D45D89CEA583C756D3F96C1297B9BD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax effect of foreign currency translation adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_D8D45D89CEA583C756D3F96C1297B9BD_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_D8D45D89CEA583C756D3F96C1297B9BD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Translation Gain (Loss) Arising During Period, Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_D8D45D89CEA583C756D3F96C1297B9BD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_D8D45D89CEA583C756D3F96C1297B9BD" xlink:to="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_D8D45D89CEA583C756D3F96C1297B9BD" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_6AF5DE6937487E3FCACEF96C12916677_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_6AF5DE6937487E3FCACEF96C12916677" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Summary of Stock Option Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_6AF5DE6937487E3FCACEF96C12916677_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_6AF5DE6937487E3FCACEF96C12916677" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation, Stock Options, Activity [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_6AF5DE6937487E3FCACEF96C12916677" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_6AF5DE6937487E3FCACEF96C12916677" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_6AF5DE6937487E3FCACEF96C12916677" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_0317602C3099CD5A7C63F96C1292077E_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_0317602C3099CD5A7C63F96C1292077E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_0317602C3099CD5A7C63F96C1292077E_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_0317602C3099CD5A7C63F96C1292077E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_0317602C3099CD5A7C63F96C1292077E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_0317602C3099CD5A7C63F96C1292077E" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_0317602C3099CD5A7C63F96C1292077E" xlink:type="arc" />
    <link:label id="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_AB3C221BFFEF822DA74FF96C12931444_terseLabel_en-US" xlink:label="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_AB3C221BFFEF822DA74FF96C12931444" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Nonvested Restricted Stock Shares Activity</link:label>
    <link:label id="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_AB3C221BFFEF822DA74FF96C12931444_label_en-US" xlink:label="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_AB3C221BFFEF822DA74FF96C12931444" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Nonvested Restricted Stock Shares Activity [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:label="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_AB3C221BFFEF822DA74FF96C12931444" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_AB3C221BFFEF822DA74FF96C12931444" xlink:to="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_AB3C221BFFEF822DA74FF96C12931444" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_E10D1E8879726E2FC29CF96C12946EE2_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_E10D1E8879726E2FC29CF96C12946EE2" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_E10D1E8879726E2FC29CF96C12946EE2_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_E10D1E8879726E2FC29CF96C12946EE2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_E10D1E8879726E2FC29CF96C12946EE2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_E10D1E8879726E2FC29CF96C12946EE2" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_E10D1E8879726E2FC29CF96C12946EE2" xlink:type="arc" />
    <link:label id="lab_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB_label_en-US" xlink:label="lab_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document And Entity Information [Abstract]</link:label>
    <link:label id="lab_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB_documentation_en-US" xlink:label="lab_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Document and entity information.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_DocumentAndEntityInformationAbstract" xlink:label="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:to="lab_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:type="arc" />
    <link:label id="lab_dei_EntityRegistrantName_53D971F8D46C93F56409F96C11E3720B_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName_53D971F8D46C93F56409F96C11E3720B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_53D971F8D46C93F56409F96C11E3720B_label_en-US" xlink:label="lab_dei_EntityRegistrantName_53D971F8D46C93F56409F96C11E3720B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName_53D971F8D46C93F56409F96C11E3720B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName_53D971F8D46C93F56409F96C11E3720B" xlink:to="lab_dei_EntityRegistrantName_53D971F8D46C93F56409F96C11E3720B" xlink:type="arc" />
    <link:label id="lab_dei_EntityCentralIndexKey_53C50C6C4C070C62B463F96C11E33C97_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey_53C50C6C4C070C62B463F96C11E33C97" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_53C50C6C4C070C62B463F96C11E33C97_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey_53C50C6C4C070C62B463F96C11E33C97" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey_53C50C6C4C070C62B463F96C11E33C97" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey_53C50C6C4C070C62B463F96C11E33C97" xlink:to="lab_dei_EntityCentralIndexKey_53C50C6C4C070C62B463F96C11E33C97" xlink:type="arc" />
    <link:label id="lab_dei_CurrentFiscalYearEndDate_A06AF33425F9356485ABF96C11E38F1E_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate_A06AF33425F9356485ABF96C11E38F1E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_A06AF33425F9356485ABF96C11E38F1E_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate_A06AF33425F9356485ABF96C11E38F1E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate_A06AF33425F9356485ABF96C11E38F1E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate_A06AF33425F9356485ABF96C11E38F1E" xlink:to="lab_dei_CurrentFiscalYearEndDate_A06AF33425F9356485ABF96C11E38F1E" xlink:type="arc" />
    <link:label id="lab_dei_EntityFilerCategory_77715428E8A83D8A4661F96C11E30E22_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory_77715428E8A83D8A4661F96C11E30E22" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_77715428E8A83D8A4661F96C11E30E22_label_en-US" xlink:label="lab_dei_EntityFilerCategory_77715428E8A83D8A4661F96C11E30E22" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory_77715428E8A83D8A4661F96C11E30E22" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory_77715428E8A83D8A4661F96C11E30E22" xlink:to="lab_dei_EntityFilerCategory_77715428E8A83D8A4661F96C11E30E22" xlink:type="arc" />
    <link:label id="lab_dei_DocumentType_176A4AABDAD48C27B280F96C11E3EC70_terseLabel_en-US" xlink:label="lab_dei_DocumentType_176A4AABDAD48C27B280F96C11E3EC70" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_176A4AABDAD48C27B280F96C11E3EC70_label_en-US" xlink:label="lab_dei_DocumentType_176A4AABDAD48C27B280F96C11E3EC70" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType_176A4AABDAD48C27B280F96C11E3EC70" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType_176A4AABDAD48C27B280F96C11E3EC70" xlink:to="lab_dei_DocumentType_176A4AABDAD48C27B280F96C11E3EC70" xlink:type="arc" />
    <link:label id="lab_dei_DocumentPeriodEndDate_CE5BBA4297F94E97964EF96C11E34641_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate_CE5BBA4297F94E97964EF96C11E34641" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_CE5BBA4297F94E97964EF96C11E34641_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate_CE5BBA4297F94E97964EF96C11E34641" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate_CE5BBA4297F94E97964EF96C11E34641" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate_CE5BBA4297F94E97964EF96C11E34641" xlink:to="lab_dei_DocumentPeriodEndDate_CE5BBA4297F94E97964EF96C11E34641" xlink:type="arc" />
    <link:label id="lab_dei_DocumentFiscalYearFocus_772F222AB2E05F2C48A6F96C11E37E5D_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus_772F222AB2E05F2C48A6F96C11E37E5D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_772F222AB2E05F2C48A6F96C11E37E5D_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus_772F222AB2E05F2C48A6F96C11E37E5D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus_772F222AB2E05F2C48A6F96C11E37E5D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus_772F222AB2E05F2C48A6F96C11E37E5D" xlink:to="lab_dei_DocumentFiscalYearFocus_772F222AB2E05F2C48A6F96C11E37E5D" xlink:type="arc" />
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_01C4409EC4999B2DCAAFF96C11E3944D_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus_01C4409EC4999B2DCAAFF96C11E3944D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_01C4409EC4999B2DCAAFF96C11E3944D_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus_01C4409EC4999B2DCAAFF96C11E3944D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus_01C4409EC4999B2DCAAFF96C11E3944D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus_01C4409EC4999B2DCAAFF96C11E3944D" xlink:to="lab_dei_DocumentFiscalPeriodFocus_01C4409EC4999B2DCAAFF96C11E3944D" xlink:type="arc" />
    <link:label id="lab_dei_AmendmentFlag_F4B6D8029AAB8A73EB36F96C11E3CBDD_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag_F4B6D8029AAB8A73EB36F96C11E3CBDD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_F4B6D8029AAB8A73EB36F96C11E3CBDD_label_en-US" xlink:label="lab_dei_AmendmentFlag_F4B6D8029AAB8A73EB36F96C11E3CBDD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag_F4B6D8029AAB8A73EB36F96C11E3CBDD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag_F4B6D8029AAB8A73EB36F96C11E3CBDD" xlink:to="lab_dei_AmendmentFlag_F4B6D8029AAB8A73EB36F96C11E3CBDD" xlink:type="arc" />
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_34C73EB59C12F5AC8411F96C11E31AD5_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding_34C73EB59C12F5AC8411F96C11E31AD5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_34C73EB59C12F5AC8411F96C11E31AD5_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding_34C73EB59C12F5AC8411F96C11E31AD5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_34C73EB59C12F5AC8411F96C11E31AD5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding_34C73EB59C12F5AC8411F96C11E31AD5" xlink:to="lab_dei_EntityCommonStockSharesOutstanding_34C73EB59C12F5AC8411F96C11E31AD5" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_33EDCB6FB80CCD334A1C03C8162F185F_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_33EDCB6FB80CCD334A1C03C8162F185F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">1 year or less</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_33EDCB6FB80CCD334A1C03C8162F185F_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_33EDCB6FB80CCD334A1C03C8162F185F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Maturities, Next Twelve Months, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_33EDCB6FB80CCD334A1C03C8162F185F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_33EDCB6FB80CCD334A1C03C8162F185F" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_33EDCB6FB80CCD334A1C03C8162F185F" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">1-2 years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available For Sale Securities Debt Maturities After One Year Before Two Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2-3 years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available For Sale Securities Debt Maturities After Two Years Before Three Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Available-for-sale securities, debt maturities after second year but before third year, fair value.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">3-4 years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available For Sale Securities Debt Maturities After Three Years Before Four Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Available-for-sale securities, debt maturities after third year but before fourth year, fair value.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">4-5 years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available For Sale Securities Debt Maturities After Four Years Before Five Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">5-7 years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available For Sale Securities Debt Maturities After Five Years Before Seven Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Available For Sale Securities Debt Maturities After Five Years Before Seven Years Fair Value</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_FC41CA2B7DD8A71455A403C8162FE0A4_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_FC41CA2B7DD8A71455A403C8162FE0A4" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Fair value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_FC41CA2B7DD8A71455A403C8162FE0A4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_FC41CA2B7DD8A71455A403C8162FE0A4" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_FC41CA2B7DD8A71455A403C8162FE0A4" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_B1AD775CA38811A06662F96C12B3112C_label_en-US" xlink:label="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_B1AD775CA38811A06662F96C12B3112C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Warranties Disclosures [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_B1AD775CA38811A06662F96C12B3112C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_B1AD775CA38811A06662F96C12B3112C" xlink:to="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_B1AD775CA38811A06662F96C12B3112C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4EA8972E18BF6C9650A2F96C12B3D437_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4EA8972E18BF6C9650A2F96C12B3D437" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Changes in Warranty Obligations</link:label>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4EA8972E18BF6C9650A2F96C12B3D437_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4EA8972E18BF6C9650A2F96C12B3D437" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4EA8972E18BF6C9650A2F96C12B3D437" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4EA8972E18BF6C9650A2F96C12B3D437" xlink:to="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4EA8972E18BF6C9650A2F96C12B3D437" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_4D204FC34C10A75A3D55F96C127BD070_verboseLabel_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_4D204FC34C10A75A3D55F96C127BD070" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Gross amounts of recognized assets</link:label>
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_4D204FC34C10A75A3D55F96C127BD070_label_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_4D204FC34C10A75A3D55F96C127BD070" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset, Fair Value, Gross Asset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_4D204FC34C10A75A3D55F96C127BD070" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_4D204FC34C10A75A3D55F96C127BD070" xlink:to="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_4D204FC34C10A75A3D55F96C127BD070" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_84FEA28F03A692D42C91F96C127BC39D_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_84FEA28F03A692D42C91F96C127BC39D" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Gross amounts offset</link:label>
    <link:label id="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_84FEA28F03A692D42C91F96C127BC39D_label_en-US" xlink:label="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_84FEA28F03A692D42C91F96C127BC39D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset, Collateral, Obligation to Return Cash, Offset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_84FEA28F03A692D42C91F96C127BC39D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_84FEA28F03A692D42C91F96C127BC39D" xlink:to="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_84FEA28F03A692D42C91F96C127BC39D" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssets_4E98A4F1EB56C739AFBCF96C127B3127_totalLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets_4E98A4F1EB56C739AFBCF96C127B3127" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net amount of assets presented</link:label>
    <link:label id="lab_us-gaap_DerivativeAssets_4E98A4F1EB56C739AFBCF96C127B3127_label_en-US" xlink:label="lab_us-gaap_DerivativeAssets_4E98A4F1EB56C739AFBCF96C127B3127" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_4E98A4F1EB56C739AFBCF96C127B3127" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssets_4E98A4F1EB56C739AFBCF96C127B3127" xlink:to="lab_us-gaap_DerivativeAssets_4E98A4F1EB56C739AFBCF96C127B3127" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_9E587B777735F8387AE4F96C127B0B0C_verboseLabel_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_9E587B777735F8387AE4F96C127B0B0C" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Gross amounts of recognized liabilities</link:label>
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_9E587B777735F8387AE4F96C127B0B0C_label_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_9E587B777735F8387AE4F96C127B0B0C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Liability, Fair Value, Gross Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_9E587B777735F8387AE4F96C127B0B0C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_9E587B777735F8387AE4F96C127B0B0C" xlink:to="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_9E587B777735F8387AE4F96C127B0B0C" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_6FE98F25C48A943ADEAEF96C127B9DB1_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_6FE98F25C48A943ADEAEF96C127B9DB1" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Gross amounts offset</link:label>
    <link:label id="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_6FE98F25C48A943ADEAEF96C127B9DB1_label_en-US" xlink:label="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_6FE98F25C48A943ADEAEF96C127B9DB1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Liability, Collateral, Right to Reclaim Cash, Offset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_6FE98F25C48A943ADEAEF96C127B9DB1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_6FE98F25C48A943ADEAEF96C127B9DB1" xlink:to="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_6FE98F25C48A943ADEAEF96C127B9DB1" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLiabilities_3424183E9519F6BCDB4EF96C127B8196_totalLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities_3424183E9519F6BCDB4EF96C127B8196" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net amount of liabilities presented</link:label>
    <link:label id="lab_us-gaap_DerivativeLiabilities_3424183E9519F6BCDB4EF96C127B8196_label_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities_3424183E9519F6BCDB4EF96C127B8196" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_3424183E9519F6BCDB4EF96C127B8196" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilities_3424183E9519F6BCDB4EF96C127B8196" xlink:to="lab_us-gaap_DerivativeLiabilities_3424183E9519F6BCDB4EF96C127B8196" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_98EB16EA9A428217D0B7F96C12786E6B_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_98EB16EA9A428217D0B7F96C12786E6B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross realized gains on sale of investments</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_98EB16EA9A428217D0B7F96C12786E6B_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_98EB16EA9A428217D0B7F96C12786E6B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Gross Realized Gains</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedGains" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_98EB16EA9A428217D0B7F96C12786E6B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_98EB16EA9A428217D0B7F96C12786E6B" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_98EB16EA9A428217D0B7F96C12786E6B" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_7E64C48FFF59F3E37CD0F96C1279AD12_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_7E64C48FFF59F3E37CD0F96C1279AD12" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross realized losses on sale of investments</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_7E64C48FFF59F3E37CD0F96C1279AD12_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_7E64C48FFF59F3E37CD0F96C1279AD12" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Gross Realized Losses</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_7E64C48FFF59F3E37CD0F96C1279AD12" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_7E64C48FFF59F3E37CD0F96C1279AD12" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_7E64C48FFF59F3E37CD0F96C1279AD12" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosures [Table]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosures [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosures [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosures [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeNumberOfInstrumentsHeld_2970DBB912431A6BFEAD03C815E41EC2_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeNumberOfInstrumentsHeld_2970DBB912431A6BFEAD03C815E41EC2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative, Number of Instruments Held</link:label>
    <link:label id="lab_us-gaap_DerivativeNumberOfInstrumentsHeld_2970DBB912431A6BFEAD03C815E41EC2_label_en-US" xlink:label="lab_us-gaap_DerivativeNumberOfInstrumentsHeld_2970DBB912431A6BFEAD03C815E41EC2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative, Number of Instruments Held</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:label="loc_us-gaap_DerivativeNumberOfInstrumentsHeld_2970DBB912431A6BFEAD03C815E41EC2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeNumberOfInstrumentsHeld_2970DBB912431A6BFEAD03C815E41EC2" xlink:to="lab_us-gaap_DerivativeNumberOfInstrumentsHeld_2970DBB912431A6BFEAD03C815E41EC2" xlink:type="arc" />
    <link:label id="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E55FFC5D230792FFE44603C815E445B5_terseLabel_en-US" xlink:label="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E55FFC5D230792FFE44603C815E445B5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Remaining maturity of foreign currency derivatives (up to)</link:label>
    <link:label id="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E55FFC5D230792FFE44603C815E445B5_label_en-US" xlink:label="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E55FFC5D230792FFE44603C815E445B5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum Remaining Maturity of Foreign Currency Derivatives</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E55FFC5D230792FFE44603C815E445B5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E55FFC5D230792FFE44603C815E445B5" xlink:to="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E55FFC5D230792FFE44603C815E445B5" xlink:type="arc" />
    <link:label id="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_89309B1A03D81A0B6C9E03C815E4CC55_terseLabel_en-US" xlink:label="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_89309B1A03D81A0B6C9E03C815E4CC55" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maximum length of time hedged in cash flow hedge</link:label>
    <link:label id="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_89309B1A03D81A0B6C9E03C815E4CC55_label_en-US" xlink:label="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_89309B1A03D81A0B6C9E03C815E4CC55" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum Length of Time Hedged in Cash Flow Hedge</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1" xlink:label="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_89309B1A03D81A0B6C9E03C815E4CC55" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_89309B1A03D81A0B6C9E03C815E4CC55" xlink:to="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_89309B1A03D81A0B6C9E03C815E4CC55" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_171403F1D1BC277421FC03C815708C66_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember_171403F1D1BC277421FC03C815708C66" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Employee Stock Option</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_171403F1D1BC277421FC03C815708C66_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember_171403F1D1BC277421FC03C815708C66" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Stock Option [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_171403F1D1BC277421FC03C815708C66" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember_171403F1D1BC277421FC03C815708C66" xlink:to="lab_us-gaap_EmployeeStockOptionMember_171403F1D1BC277421FC03C815708C66" xlink:type="arc" />
    <link:label id="lab_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:label id="lab_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA" xlink:to="lab_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA" xlink:type="arc" />
    <link:label id="lab_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:label id="lab_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3" xlink:to="lab_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_880EF6173DFB9F04DC4903C81576225E_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_880EF6173DFB9F04DC4903C81576225E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares available for grant under stock option plans</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_880EF6173DFB9F04DC4903C81576225E_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_880EF6173DFB9F04DC4903C81576225E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_880EF6173DFB9F04DC4903C81576225E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_880EF6173DFB9F04DC4903C81576225E" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_880EF6173DFB9F04DC4903C81576225E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_455E35D7E45CBFCD970A03C81576991B_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_455E35D7E45CBFCD970A03C81576991B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vesting period for stock option plans</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_455E35D7E45CBFCD970A03C81576991B_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_455E35D7E45CBFCD970A03C81576991B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_455E35D7E45CBFCD970A03C81576991B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_455E35D7E45CBFCD970A03C81576991B" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_455E35D7E45CBFCD970A03C81576991B" xlink:type="arc" />
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C_terseLabel_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expiration period from grant day</link:label>
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C_label_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Expiration Period Of Stock Option Plan</link:label>
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C_documentation_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Expiration period of stock option plan.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ExpirationPeriodOfStockOptionPlan" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C" xlink:to="lab_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C" xlink:type="arc" />
    <link:label id="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130_terseLabel_en-US" xlink:label="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vesting period, performance-based restricted stock, years</link:label>
    <link:label id="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130_label_en-US" xlink:label="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vesting period, performance-based restricted stock, years</link:label>
    <link:label id="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130_documentation_en-US" xlink:label="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Vesting period, performance-based restricted stock, years</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_Vestingperiodperformancebasedrestrictedstockyears" xlink:label="loc_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130" xlink:to="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130" xlink:type="arc" />
    <link:label id="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4_terseLabel_en-US" xlink:label="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vesting period, time-based restricted stock, years</link:label>
    <link:label id="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4_label_en-US" xlink:label="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vesting period, time-based restricted stock, years</link:label>
    <link:label id="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4_documentation_en-US" xlink:label="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Vesting period, time-based restricted stock, years</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_Vestingperiodtimebasedrestrictedstockyears" xlink:label="loc_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4" xlink:to="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4" xlink:type="arc" />
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972_terseLabel_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Groups within the employee population</link:label>
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972_label_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number Of Groups Within Employee Population</link:label>
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972_documentation_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of groups within employee population.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972" xlink:to="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972" xlink:type="arc" />
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79_terseLabel_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Estimated annual forfeiture rate for unvested options for senior management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79_label_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Estimated Forfeiture Rate For Unvested Options For Senior Management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79_documentation_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Estimated forfeiture rate for unvested options for senior management.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79" xlink:to="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79" xlink:type="arc" />
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B_terseLabel_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Estimated annual forfeiture rate for unvested options for all other employees</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B_label_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Estimated Forfeiture Rate For Unvested Options For All Non Senior Management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B_documentation_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Estimated forfeiture rate for unvested options for all non-senior management.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B" xlink:to="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B" xlink:type="arc" />
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872_terseLabel_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increase (decrease) to compensation expense</link:label>
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872_label_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates</link:label>
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872_documentation_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Increase (decrease) in compensation expense due to revised estimated forfeiture rates.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872" xlink:to="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_A0CBBD76DD82353C36EB03C81576C50E_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_A0CBBD76DD82353C36EB03C81576C50E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted-average grant-date fair values, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_A0CBBD76DD82353C36EB03C81576C50E_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_A0CBBD76DD82353C36EB03C81576C50E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_A0CBBD76DD82353C36EB03C81576C50E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_A0CBBD76DD82353C36EB03C81576C50E" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_A0CBBD76DD82353C36EB03C81576C50E" xlink:type="arc" />
    <link:label id="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB_terseLabel_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total intrinsic value</link:label>
    <link:label id="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB_label_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Shares Based Compensation Arrangement By Shares Based Payment Award Options Exercisable Intrinsic Value</link:label>
    <link:label id="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB_documentation_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Shares based compensation arrangement by shares based payment award options exercisable intrinsic value.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB" xlink:to="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB" xlink:type="arc" />
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total fair values of stock options vest</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Options Vested Fair Value</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Share based compensation arrangement by share based payment award options vested fair value.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_9FADE389F6D518CC3FEC03C81576078B_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_9FADE389F6D518CC3FEC03C81576078B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unrecognized compensation expense</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_9FADE389F6D518CC3FEC03C81576078B_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_9FADE389F6D518CC3FEC03C81576078B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_9FADE389F6D518CC3FEC03C81576078B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_9FADE389F6D518CC3FEC03C81576078B" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_9FADE389F6D518CC3FEC03C81576078B" xlink:type="arc" />
    <link:label id="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3_terseLabel_en-US" xlink:label="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average period to be recognized</link:label>
    <link:label id="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3_label_en-US" xlink:label="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition</link:label>
    <link:label id="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3_documentation_en-US" xlink:label="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:label="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3" xlink:to="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3" xlink:type="arc" />
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_B6C670D18294972AE7A903C815765EAC_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense_B6C670D18294972AE7A903C815765EAC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_B6C670D18294972AE7A903C815765EAC_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense_B6C670D18294972AE7A903C815765EAC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Allocated Share-based Compensation Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_B6C670D18294972AE7A903C815765EAC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense_B6C670D18294972AE7A903C815765EAC" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense_B6C670D18294972AE7A903C815765EAC" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_461C454F6D2A2DE9F7CD03C815766990_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_461C454F6D2A2DE9F7CD03C815766990" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax benefit from compensation expense</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_461C454F6D2A2DE9F7CD03C815766990_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_461C454F6D2A2DE9F7CD03C815766990" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Tax Benefit from Compensation Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_461C454F6D2A2DE9F7CD03C815766990" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_461C454F6D2A2DE9F7CD03C815766990" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_461C454F6D2A2DE9F7CD03C815766990" xlink:type="arc" />
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C_terseLabel_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Recognized period costs capitalized</link:label>
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C_label_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount</link:label>
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C_documentation_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Employee service share based compensation recognized period costs capitalized amount.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C" xlink:to="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_0819FE9C6A7F88A56766F96C129D687A_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_0819FE9C6A7F88A56766F96C129D687A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_0819FE9C6A7F88A56766F96C129D687A_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_0819FE9C6A7F88A56766F96C129D687A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_0819FE9C6A7F88A56766F96C129D687A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_0819FE9C6A7F88A56766F96C129D687A" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_0819FE9C6A7F88A56766F96C129D687A" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_F149ADFF01AE3BF56D6DF96C121B32FE_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_F149ADFF01AE3BF56D6DF96C121B32FE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash, Cash Equivalents, and Investments</link:label>
    <link:label id="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_F149ADFF01AE3BF56D6DF96C121B32FE_label_en-US" xlink:label="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_F149ADFF01AE3BF56D6DF96C121B32FE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock" xlink:label="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_F149ADFF01AE3BF56D6DF96C121B32FE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_F149ADFF01AE3BF56D6DF96C121B32FE" xlink:to="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_F149ADFF01AE3BF56D6DF96C121B32FE" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares (in thousands)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_52B40A03D9D917E9EA6503C8155518BC_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_52B40A03D9D917E9EA6503C8155518BC" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_52B40A03D9D917E9EA6503C8155518BC_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_52B40A03D9D917E9EA6503C8155518BC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_52B40A03D9D917E9EA6503C8155518BC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_52B40A03D9D917E9EA6503C8155518BC" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_52B40A03D9D917E9EA6503C8155518BC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_5654F2E0B28F264E251103C81555AD4B_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_5654F2E0B28F264E251103C81555AD4B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Granted, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_5654F2E0B28F264E251103C81555AD4B_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_5654F2E0B28F264E251103C81555AD4B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_5654F2E0B28F264E251103C81555AD4B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_5654F2E0B28F264E251103C81555AD4B" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_5654F2E0B28F264E251103C81555AD4B" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_A00513C02DA2EF9DC01503C81555F135_negatedLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_A00513C02DA2EF9DC01503C81555F135" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Exercised, shares</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_A00513C02DA2EF9DC01503C81555F135_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_A00513C02DA2EF9DC01503C81555F135" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_A00513C02DA2EF9DC01503C81555F135" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_A00513C02DA2EF9DC01503C81555F135" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_A00513C02DA2EF9DC01503C81555F135" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_6E252BB1167CFE1DB5F103C81555A990_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_6E252BB1167CFE1DB5F103C81555A990" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Forfeited or expired, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_6E252BB1167CFE1DB5F103C81555A990_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_6E252BB1167CFE1DB5F103C81555A990" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_6E252BB1167CFE1DB5F103C81555A990" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_6E252BB1167CFE1DB5F103C81555A990" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_6E252BB1167CFE1DB5F103C81555A990" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_F4CE09087969B87C6CD203C815553D4D_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_F4CE09087969B87C6CD203C815553D4D" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_F4CE09087969B87C6CD203C815553D4D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_F4CE09087969B87C6CD203C815553D4D" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_F4CE09087969B87C6CD203C815553D4D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_33A8F63079F130E19A4903C81555EC51_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_33A8F63079F130E19A4903C81555EC51" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable as of reporting date, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_33A8F63079F130E19A4903C81555EC51_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_33A8F63079F130E19A4903C81555EC51" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_33A8F63079F130E19A4903C81555EC51" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_33A8F63079F130E19A4903C81555EC51" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_33A8F63079F130E19A4903C81555EC51" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_9F99A1194F722AF76A8803C815550B2D_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_9F99A1194F722AF76A8803C815550B2D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options vested or expected to vest as of reporting date, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_9F99A1194F722AF76A8803C815550B2D_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_9F99A1194F722AF76A8803C815550B2D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_9F99A1194F722AF76A8803C815550B2D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_9F99A1194F722AF76A8803C815550B2D" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_9F99A1194F722AF76A8803C815550B2D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted- Average Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6206E162B52B689AE3E403C815559F97_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6206E162B52B689AE3E403C815559F97" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6206E162B52B689AE3E403C815559F97_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6206E162B52B689AE3E403C815559F97" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6206E162B52B689AE3E403C815559F97" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6206E162B52B689AE3E403C815559F97" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6206E162B52B689AE3E403C815559F97" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_5846217E56D13EB1DF3C03C815551E62_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_5846217E56D13EB1DF3C03C815551E62" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Granted, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_5846217E56D13EB1DF3C03C815551E62_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_5846217E56D13EB1DF3C03C815551E62" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_5846217E56D13EB1DF3C03C815551E62" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_5846217E56D13EB1DF3C03C815551E62" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_5846217E56D13EB1DF3C03C815551E62" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_5E029AAE1736F83C4C3803C81556132B_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_5E029AAE1736F83C4C3803C81556132B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercised, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_5E029AAE1736F83C4C3803C81556132B_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_5E029AAE1736F83C4C3803C81556132B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_5E029AAE1736F83C4C3803C81556132B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_5E029AAE1736F83C4C3803C81556132B" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_5E029AAE1736F83C4C3803C81556132B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_B27D31CFE9D2C469054703C815568401_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_B27D31CFE9D2C469054703C815568401" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Forfeited or expired, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_B27D31CFE9D2C469054703C815568401_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_B27D31CFE9D2C469054703C815568401" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_B27D31CFE9D2C469054703C815568401" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_B27D31CFE9D2C469054703C815568401" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_B27D31CFE9D2C469054703C815568401" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_49533973F3CDF41D3B3003C81556355C_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_49533973F3CDF41D3B3003C81556355C" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, in dollars per share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_49533973F3CDF41D3B3003C81556355C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_49533973F3CDF41D3B3003C81556355C" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_49533973F3CDF41D3B3003C81556355C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E92344AFC1CE4E72233103C81556F079_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E92344AFC1CE4E72233103C81556F079" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E92344AFC1CE4E72233103C81556F079_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E92344AFC1CE4E72233103C81556F079" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E92344AFC1CE4E72233103C81556F079" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E92344AFC1CE4E72233103C81556F079" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E92344AFC1CE4E72233103C81556F079" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_77EF92EDAD068DC4437803C81556DAB7_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_77EF92EDAD068DC4437803C81556DAB7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options vested or expected to vest as of period end (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_77EF92EDAD068DC4437803C81556DAB7_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_77EF92EDAD068DC4437803C81556DAB7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_77EF92EDAD068DC4437803C81556DAB7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_77EF92EDAD068DC4437803C81556DAB7" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_77EF92EDAD068DC4437803C81556DAB7" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_31BE5818572D77E3902A03C815566D89_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_31BE5818572D77E3902A03C815566D89" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_31BE5818572D77E3902A03C815566D89_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_31BE5818572D77E3902A03C815566D89" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_31BE5818572D77E3902A03C815566D89" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_31BE5818572D77E3902A03C815566D89" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_31BE5818572D77E3902A03C815566D89" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_D4E06A3DBEEF500750C603C81556DA8C_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_D4E06A3DBEEF500750C603C81556DA8C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Outstanding, in years</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_D4E06A3DBEEF500750C603C81556DA8C_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_D4E06A3DBEEF500750C603C81556DA8C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_D4E06A3DBEEF500750C603C81556DA8C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_D4E06A3DBEEF500750C603C81556DA8C" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_D4E06A3DBEEF500750C603C81556DA8C" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2EE54D9AE1B27127F7C403C8155BDF95_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2EE54D9AE1B27127F7C403C8155BDF95" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable, in years</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2EE54D9AE1B27127F7C403C8155BDF95_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2EE54D9AE1B27127F7C403C8155BDF95" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2EE54D9AE1B27127F7C403C8155BDF95" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2EE54D9AE1B27127F7C403C8155BDF95" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2EE54D9AE1B27127F7C403C8155BDF95" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_3A86602F9B60EB05ACDA03C8155B24AF_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_3A86602F9B60EB05ACDA03C8155B24AF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options vested or expected to vest, in years</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_3A86602F9B60EB05ACDA03C8155B24AF_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_3A86602F9B60EB05ACDA03C8155B24AF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_3A86602F9B60EB05ACDA03C8155B24AF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_3A86602F9B60EB05ACDA03C8155B24AF" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_3A86602F9B60EB05ACDA03C8155B24AF" xlink:type="arc" />
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Aggregate Intrinsic Value (in thousands)</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Options Additional Disclosures1 [Abstract]</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AF743539DA2027342FAB03C8155BAC7A_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AF743539DA2027342FAB03C8155BAC7A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Outstanding, in dollars</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AF743539DA2027342FAB03C8155BAC7A_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AF743539DA2027342FAB03C8155BAC7A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AF743539DA2027342FAB03C8155BAC7A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AF743539DA2027342FAB03C8155BAC7A" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AF743539DA2027342FAB03C8155BAC7A" xlink:type="arc" />
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_BF398100C7806D84448A03C8155B895A_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_BF398100C7806D84448A03C8155B895A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable, in dollars</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_BF398100C7806D84448A03C8155B895A_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_BF398100C7806D84448A03C8155B895A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Aggregate Intrinsic Value</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_BF398100C7806D84448A03C8155B895A_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_BF398100C7806D84448A03C8155B895A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_BF398100C7806D84448A03C8155B895A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_BF398100C7806D84448A03C8155B895A" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_BF398100C7806D84448A03C8155B895A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_C83440F9BCCDD172FD2C03C8155BC577_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_C83440F9BCCDD172FD2C03C8155BC577" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options vested or expected to vest, in dollars</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_C83440F9BCCDD172FD2C03C8155BC577_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_C83440F9BCCDD172FD2C03C8155BC577" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_C83440F9BCCDD172FD2C03C8155BC577" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_C83440F9BCCDD172FD2C03C8155BC577" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_C83440F9BCCDD172FD2C03C8155BC577" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_FE61D84DC9F44F2A006203C8163384DB_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_FE61D84DC9F44F2A006203C8163384DB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value, less than 12 months</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_FE61D84DC9F44F2A006203C8163384DB_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_FE61D84DC9F44F2A006203C8163384DB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Less than Twelve Months, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_FE61D84DC9F44F2A006203C8163384DB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_FE61D84DC9F44F2A006203C8163384DB" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_FE61D84DC9F44F2A006203C8163384DB" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_487F974B2D33F6BD14EF03C81633CBF5_negatedLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_487F974B2D33F6BD14EF03C81633CBF5" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Unrealized losses, less than 12 months</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_487F974B2D33F6BD14EF03C81633CBF5_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_487F974B2D33F6BD14EF03C81633CBF5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_487F974B2D33F6BD14EF03C81633CBF5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_487F974B2D33F6BD14EF03C81633CBF5" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_487F974B2D33F6BD14EF03C81633CBF5" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_01B49248991E7628F3A803C81633EC7A_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_01B49248991E7628F3A803C81633EC7A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value, 12 months or greater</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_01B49248991E7628F3A803C81633EC7A_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_01B49248991E7628F3A803C81633EC7A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Twelve Months or Longer, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_01B49248991E7628F3A803C81633EC7A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_01B49248991E7628F3A803C81633EC7A" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_01B49248991E7628F3A803C81633EC7A" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_D8260F635EE9F37D499603C816338498_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_D8260F635EE9F37D499603C816338498" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Unrealized losses, 12 months or greater</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_D8260F635EE9F37D499603C816338498_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_D8260F635EE9F37D499603C816338498" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_D8260F635EE9F37D499603C816338498" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_D8260F635EE9F37D499603C816338498" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_D8260F635EE9F37D499603C816338498" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_56BE00C43D76D2974BCB03C816332610_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_56BE00C43D76D2974BCB03C816332610" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total fair value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_56BE00C43D76D2974BCB03C816332610_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_56BE00C43D76D2974BCB03C816332610" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_56BE00C43D76D2974BCB03C816332610" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_56BE00C43D76D2974BCB03C816332610" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_56BE00C43D76D2974BCB03C816332610" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1625917C5F8E92AD8EF003C81633D115_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1625917C5F8E92AD8EF003C81633D115" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xml:lang="en-US">Total unrealized losses</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1625917C5F8E92AD8EF003C81633D115" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1625917C5F8E92AD8EF003C81633D115" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1625917C5F8E92AD8EF003C81633D115" xlink:type="arc" />
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Movement in Standard Product Warranty Accrual [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02_label_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Movement in Standard Product Warranty Accrual [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02" xlink:to="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_DE96F61365F31D94DF9103C8160EC8C8_periodStartLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual_DE96F61365F31D94DF9103C8160EC8C8" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_DE96F61365F31D94DF9103C8160EC8C8_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual_DE96F61365F31D94DF9103C8160EC8C8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_DE96F61365F31D94DF9103C8160EC8C8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrual_DE96F61365F31D94DF9103C8160EC8C8" xlink:to="lab_us-gaap_ProductWarrantyAccrual_DE96F61365F31D94DF9103C8160EC8C8" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_C7978116DBCB33B17F4E03C8160E596D_verboseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_C7978116DBCB33B17F4E03C8160E596D" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Provisions for warranties issued during the period</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_C7978116DBCB33B17F4E03C8160E596D_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_C7978116DBCB33B17F4E03C8160E596D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Increase for Warranties Issued</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_C7978116DBCB33B17F4E03C8160E596D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_C7978116DBCB33B17F4E03C8160E596D" xlink:to="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_C7978116DBCB33B17F4E03C8160E596D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrualPayments_1591DB4459BC7C0FD46203C8160E069E_negatedLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualPayments_1591DB4459BC7C0FD46203C8160E069E" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Fulfillment of warranty obligations</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualPayments_1591DB4459BC7C0FD46203C8160E069E_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualPayments_1591DB4459BC7C0FD46203C8160E069E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Decrease for Payments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments_1591DB4459BC7C0FD46203C8160E069E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualPayments_1591DB4459BC7C0FD46203C8160E069E" xlink:to="lab_us-gaap_ProductWarrantyAccrualPayments_1591DB4459BC7C0FD46203C8160E069E" xlink:type="arc" />
    <link:label id="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_AB6896CA88F750BC0F4F03C8160E7721_terseLabel_en-US" xlink:label="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_AB6896CA88F750BC0F4F03C8160E7721" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign exchange rate changes</link:label>
    <link:label id="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_AB6896CA88F750BC0F4F03C8160E7721_label_en-US" xlink:label="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_AB6896CA88F750BC0F4F03C8160E7721" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Foreign Currency Translation Gain (Loss)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="loc_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_AB6896CA88F750BC0F4F03C8160E7721" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_AB6896CA88F750BC0F4F03C8160E7721" xlink:to="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_AB6896CA88F750BC0F4F03C8160E7721" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_BD351953179515A9D77103C8160E2F1D_periodEndLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual_BD351953179515A9D77103C8160E2F1D" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_BD351953179515A9D77103C8160E2F1D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrual_BD351953179515A9D77103C8160E2F1D" xlink:to="lab_us-gaap_ProductWarrantyAccrual_BD351953179515A9D77103C8160E2F1D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_9EC697FFB1E8CE98942BF96C129F7775_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_9EC697FFB1E8CE98942BF96C129F7775" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Inventories</link:label>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_9EC697FFB1E8CE98942BF96C129F7775_label_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_9EC697FFB1E8CE98942BF96C129F7775" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_9EC697FFB1E8CE98942BF96C129F7775" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_9EC697FFB1E8CE98942BF96C129F7775" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_9EC697FFB1E8CE98942BF96C129F7775" xlink:type="arc" />
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0C63B9804B9C7702EC3EF96C12C88202_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0C63B9804B9C7702EC3EF96C12C88202" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0C63B9804B9C7702EC3EF96C12C88202" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0C63B9804B9C7702EC3EF96C12C88202" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0C63B9804B9C7702EC3EF96C12C88202" xlink:type="arc" />
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_E1A6178829780AB33D32F96C12C925C2_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_E1A6178829780AB33D32F96C12C925C2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">New Pronouncements</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_E1A6178829780AB33D32F96C12C925C2_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_E1A6178829780AB33D32F96C12C925C2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements and Changes in Accounting Principles [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_E1A6178829780AB33D32F96C12C925C2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_E1A6178829780AB33D32F96C12C925C2" xlink:to="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_E1A6178829780AB33D32F96C12C925C2" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">ASSETS</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:to="lab_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:to="lab_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_FE5C3ECC97E75B8E76C803C8169B0CA4_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_FE5C3ECC97E75B8E76C803C8169B0CA4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_FE5C3ECC97E75B8E76C803C8169B0CA4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_FE5C3ECC97E75B8E76C803C8169B0CA4" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_FE5C3ECC97E75B8E76C803C8169B0CA4" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_BE4BE26C95F0C5B8D9F803C8169B85CC_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent_BE4BE26C95F0C5B8D9F803C8169B85CC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable, less reserves of $1,664 and $1,568 in 2018 and 2017, respectively</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_BE4BE26C95F0C5B8D9F803C8169B85CC_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent_BE4BE26C95F0C5B8D9F803C8169B85CC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Receivable, Net, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_BE4BE26C95F0C5B8D9F803C8169B85CC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent_BE4BE26C95F0C5B8D9F803C8169B85CC" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent_BE4BE26C95F0C5B8D9F803C8169B85CC" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnbilledReceivablesCurrent_638841776DC77078BE9903C8169B8C75_terseLabel_en-US" xlink:label="lab_us-gaap_UnbilledReceivablesCurrent_638841776DC77078BE9903C8169B8C75" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unbilled revenue</link:label>
    <link:label id="lab_us-gaap_UnbilledReceivablesCurrent_638841776DC77078BE9903C8169B8C75_label_en-US" xlink:label="lab_us-gaap_UnbilledReceivablesCurrent_638841776DC77078BE9903C8169B8C75" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unbilled Receivables, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_638841776DC77078BE9903C8169B8C75" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnbilledReceivablesCurrent_638841776DC77078BE9903C8169B8C75" xlink:to="lab_us-gaap_UnbilledReceivablesCurrent_638841776DC77078BE9903C8169B8C75" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryNet_EF78CBBC9048F0E5E0C403C8169B0905_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet_EF78CBBC9048F0E5E0C403C8169B0905" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryNet_EF78CBBC9048F0E5E0C403C8169B0905_label_en-US" xlink:label="lab_us-gaap_InventoryNet_EF78CBBC9048F0E5E0C403C8169B0905" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_EF78CBBC9048F0E5E0C403C8169B0905" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet_EF78CBBC9048F0E5E0C403C8169B0905" xlink:to="lab_us-gaap_InventoryNet_EF78CBBC9048F0E5E0C403C8169B0905" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsCurrent_575A5BC5818A47DF2D1003C8169B1B5E_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent_575A5BC5818A47DF2D1003C8169B1B5E" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_575A5BC5818A47DF2D1003C8169B1B5E_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent_575A5BC5818A47DF2D1003C8169B1B5E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_575A5BC5818A47DF2D1003C8169B1B5E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent_575A5BC5818A47DF2D1003C8169B1B5E" xlink:to="lab_us-gaap_AssetsCurrent_575A5BC5818A47DF2D1003C8169B1B5E" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_7166E0D28A9C113D46A303C8169BDA05_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet_7166E0D28A9C113D46A303C8169BDA05" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, plant, and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_7166E0D28A9C113D46A303C8169BDA05_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet_7166E0D28A9C113D46A303C8169BDA05" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_7166E0D28A9C113D46A303C8169BDA05" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_7166E0D28A9C113D46A303C8169BDA05" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet_7166E0D28A9C113D46A303C8169BDA05" xlink:type="arc" />
    <link:label id="lab_us-gaap_Goodwill_C74BDD78587083D17F5A03C8169B42FE_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill_C74BDD78587083D17F5A03C8169B42FE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_C74BDD78587083D17F5A03C8169B42FE_label_en-US" xlink:label="lab_us-gaap_Goodwill_C74BDD78587083D17F5A03C8169B42FE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_C74BDD78587083D17F5A03C8169B42FE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill_C74BDD78587083D17F5A03C8169B42FE" xlink:to="lab_us-gaap_Goodwill_C74BDD78587083D17F5A03C8169B42FE" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_F54E74AAE4DEB62608F803C8169B53EF_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet_F54E74AAE4DEB62608F803C8169B53EF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Intangible assets, net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_F54E74AAE4DEB62608F803C8169B53EF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_F54E74AAE4DEB62608F803C8169B53EF" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet_F54E74AAE4DEB62608F803C8169B53EF" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_57539A22C31D751BAD7303C8169B576D_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_57539A22C31D751BAD7303C8169B576D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_57539A22C31D751BAD7303C8169B576D_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_57539A22C31D751BAD7303C8169B576D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_57539A22C31D751BAD7303C8169B576D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_57539A22C31D751BAD7303C8169B576D" xlink:to="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_57539A22C31D751BAD7303C8169B576D" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_07BFEF97391E71028FD703C8169B00CB_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent_07BFEF97391E71028FD703C8169B00CB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_07BFEF97391E71028FD703C8169B00CB_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent_07BFEF97391E71028FD703C8169B00CB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_07BFEF97391E71028FD703C8169B00CB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent_07BFEF97391E71028FD703C8169B00CB" xlink:to="lab_us-gaap_OtherAssetsNoncurrent_07BFEF97391E71028FD703C8169B00CB" xlink:type="arc" />
    <link:label id="lab_us-gaap_Assets_940AD165799321BF2E6F03C8169BDF9B_totalLabel_en-US" xlink:label="lab_us-gaap_Assets_940AD165799321BF2E6F03C8169BDF9B" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_940AD165799321BF2E6F03C8169BDF9B_label_en-US" xlink:label="lab_us-gaap_Assets_940AD165799321BF2E6F03C8169BDF9B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_940AD165799321BF2E6F03C8169BDF9B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets_940AD165799321BF2E6F03C8169BDF9B" xlink:to="lab_us-gaap_Assets_940AD165799321BF2E6F03C8169BDF9B" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountsPayableCurrent_E12C329567FF2949644D03C8169CF5ED_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent_E12C329567FF2949644D03C8169CF5ED" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_E12C329567FF2949644D03C8169CF5ED_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent_E12C329567FF2949644D03C8169CF5ED" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_E12C329567FF2949644D03C8169CF5ED" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent_E12C329567FF2949644D03C8169CF5ED" xlink:to="lab_us-gaap_AccountsPayableCurrent_E12C329567FF2949644D03C8169CF5ED" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_EA2C7FBCA351336D7DB303C8169C9E30_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent_EA2C7FBCA351336D7DB303C8169C9E30" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_EA2C7FBCA351336D7DB303C8169C9E30_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent_EA2C7FBCA351336D7DB303C8169C9E30" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_EA2C7FBCA351336D7DB303C8169C9E30" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_EA2C7FBCA351336D7DB303C8169C9E30" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent_EA2C7FBCA351336D7DB303C8169C9E30" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesCurrent_F1155F0929CC4B5C353303C8169C5CF5_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent_F1155F0929CC4B5C353303C8169C5CF5" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_F1155F0929CC4B5C353303C8169C5CF5_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent_F1155F0929CC4B5C353303C8169C5CF5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_F1155F0929CC4B5C353303C8169C5CF5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent_F1155F0929CC4B5C353303C8169C5CF5" xlink:to="lab_us-gaap_LiabilitiesCurrent_F1155F0929CC4B5C353303C8169C5CF5" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_F948D8AECC3B0531DB2D03CC9491CCCA_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_F948D8AECC3B0531DB2D03CC9491CCCA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_F948D8AECC3B0531DB2D03CC9491CCCA_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_F948D8AECC3B0531DB2D03CC9491CCCA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_F948D8AECC3B0531DB2D03CC9491CCCA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_F948D8AECC3B0531DB2D03CC9491CCCA" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_F948D8AECC3B0531DB2D03CC9491CCCA" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_0CD03983B1B8D0671D7403C8169C6779_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_0CD03983B1B8D0671D7403C8169C6779" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reserve for income taxes</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_0CD03983B1B8D0671D7403C8169C6779" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_0CD03983B1B8D0671D7403C8169C6779" xlink:to="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_0CD03983B1B8D0671D7403C8169C6779" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedIncomeTaxes_98D07466DF222E46F0F203CD046C91A1_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxes_98D07466DF222E46F0F203CD046C91A1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued income taxes</link:label>
    <link:label id="lab_us-gaap_AccruedIncomeTaxes_98D07466DF222E46F0F203CD046C91A1_label_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxes_98D07466DF222E46F0F203CD046C91A1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Income Taxes</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxes" xlink:label="loc_us-gaap_AccruedIncomeTaxes_98D07466DF222E46F0F203CD046C91A1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedIncomeTaxes_98D07466DF222E46F0F203CD046C91A1" xlink:to="lab_us-gaap_AccruedIncomeTaxes_98D07466DF222E46F0F203CD046C91A1" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_CCEEAC1422393567ECA803C8169C888F_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent_CCEEAC1422393567ECA803C8169C888F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other non-current liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_CCEEAC1422393567ECA803C8169C888F_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent_CCEEAC1422393567ECA803C8169C888F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Liabilities, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_CCEEAC1422393567ECA803C8169C888F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent_CCEEAC1422393567ECA803C8169C888F" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent_CCEEAC1422393567ECA803C8169C888F" xlink:type="arc" />
    <link:label id="lab_us-gaap_Liabilities_1CDACE69AE80DE88F7AC03C8169C476A_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities_1CDACE69AE80DE88F7AC03C8169C476A" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_Liabilities_1CDACE69AE80DE88F7AC03C8169C476A_label_en-US" xlink:label="lab_us-gaap_Liabilities_1CDACE69AE80DE88F7AC03C8169C476A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_1CDACE69AE80DE88F7AC03C8169C476A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities_1CDACE69AE80DE88F7AC03C8169C476A" xlink:to="lab_us-gaap_Liabilities_1CDACE69AE80DE88F7AC03C8169C476A" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shareholders&#8217; equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448" xlink:to="lab_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockValueOutstanding_11E6FA05573FC04C15F503C8169C265E_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValueOutstanding_11E6FA05573FC04C15F503C8169C265E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, $.002 par value &#8211; Authorized: 200,000 shares in 2018 and 2017, respectively, issued and outstanding: 172,948 and 173,507 shares in 2018 and 2017, respectively</link:label>
    <link:label id="lab_us-gaap_CommonStockValueOutstanding_11E6FA05573FC04C15F503C8169C265E_label_en-US" xlink:label="lab_us-gaap_CommonStockValueOutstanding_11E6FA05573FC04C15F503C8169C265E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Value, Outstanding</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockValueOutstanding" xlink:label="loc_us-gaap_CommonStockValueOutstanding_11E6FA05573FC04C15F503C8169C265E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValueOutstanding_11E6FA05573FC04C15F503C8169C265E" xlink:to="lab_us-gaap_CommonStockValueOutstanding_11E6FA05573FC04C15F503C8169C265E" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_858429138338B3E28FD303C8169CF22A_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock_858429138338B3E28FD303C8169CF22A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_858429138338B3E28FD303C8169CF22A_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock_858429138338B3E28FD303C8169CF22A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional Paid in Capital, Common Stock</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_858429138338B3E28FD303C8169CF22A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock_858429138338B3E28FD303C8169CF22A" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock_858429138338B3E28FD303C8169CF22A" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7FBAA9932B64BB4CFECD03C8169C2F0B_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7FBAA9932B64BB4CFECD03C8169C2F0B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated other comprehensive loss, net of tax</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7FBAA9932B64BB4CFECD03C8169C2F0B_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7FBAA9932B64BB4CFECD03C8169C2F0B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7FBAA9932B64BB4CFECD03C8169C2F0B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7FBAA9932B64BB4CFECD03C8169C2F0B" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7FBAA9932B64BB4CFECD03C8169C2F0B" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquity_7F5B476D54A972F60FE603C8169CDF27_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity_7F5B476D54A972F60FE603C8169CDF27" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total shareholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_7F5B476D54A972F60FE603C8169CDF27_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity_7F5B476D54A972F60FE603C8169CDF27" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_7F5B476D54A972F60FE603C8169CDF27" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity_7F5B476D54A972F60FE603C8169CDF27" xlink:to="lab_us-gaap_StockholdersEquity_7F5B476D54A972F60FE603C8169CDF27" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_DEE440F25D0C10F6B3B503C8169CAAB4_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity_DEE440F25D0C10F6B3B503C8169CAAB4" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities and shareholders' equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_DEE440F25D0C10F6B3B503C8169CAAB4_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity_DEE440F25D0C10F6B3B503C8169CAAB4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_DEE440F25D0C10F6B3B503C8169CAAB4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_DEE440F25D0C10F6B3B503C8169CAAB4" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity_DEE440F25D0C10F6B3B503C8169CAAB4" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_066D4FF26E9A1C573F9D03C816833FE6_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract_066D4FF26E9A1C573F9D03C816833FE6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_066D4FF26E9A1C573F9D03C816833FE6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_066D4FF26E9A1C573F9D03C816833FE6" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract_066D4FF26E9A1C573F9D03C816833FE6" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_8CCED9200DD5A781019EF96C12168F83_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock_8CCED9200DD5A781019EF96C12168F83" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_8CCED9200DD5A781019EF96C12168F83_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock_8CCED9200DD5A781019EF96C12168F83" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_8CCED9200DD5A781019EF96C12168F83" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock_8CCED9200DD5A781019EF96C12168F83" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock_8CCED9200DD5A781019EF96C12168F83" xlink:type="arc" />
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_79577D109048E089177903FCCA6BC797_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_79577D109048E089177903FCCA6BC797" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Intangible Assets</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_79577D109048E089177903FCCA6BC797_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_79577D109048E089177903FCCA6BC797" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_79577D109048E089177903FCCA6BC797" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_79577D109048E089177903FCCA6BC797" xlink:to="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_79577D109048E089177903FCCA6BC797" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquityAbstract_18BB9D3B8A501EA7E134F96C12BD8191_label_en-US" xlink:label="lab_us-gaap_EquityAbstract_18BB9D3B8A501EA7E134F96C12BD8191" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_18BB9D3B8A501EA7E134F96C12BD8191" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract_18BB9D3B8A501EA7E134F96C12BD8191" xlink:to="lab_us-gaap_EquityAbstract_18BB9D3B8A501EA7E134F96C12BD8191" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_5551D6634645C4376F7CF96C12BD597B_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_5551D6634645C4376F7CF96C12BD597B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_5551D6634645C4376F7CF96C12BD597B_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_5551D6634645C4376F7CF96C12BD597B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_5551D6634645C4376F7CF96C12BD597B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_5551D6634645C4376F7CF96C12BD597B" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_5551D6634645C4376F7CF96C12BD597B" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_541CBAD8D4EEDB7E6B0903C816916C11_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_541CBAD8D4EEDB7E6B0903C816916C11" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_541CBAD8D4EEDB7E6B0903C816916C11_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_541CBAD8D4EEDB7E6B0903C816916C11" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_541CBAD8D4EEDB7E6B0903C816916C11" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_541CBAD8D4EEDB7E6B0903C816916C11" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_541CBAD8D4EEDB7E6B0903C816916C11" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockOptionPlanExpense_7FD2B09BF424F986A02F03C81691CF71_terseLabel_en-US" xlink:label="lab_us-gaap_StockOptionPlanExpense_7FD2B09BF424F986A02F03C81691CF71" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_StockOptionPlanExpense_7FD2B09BF424F986A02F03C81691CF71_label_en-US" xlink:label="lab_us-gaap_StockOptionPlanExpense_7FD2B09BF424F986A02F03C81691CF71" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock or Unit Option Plan Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaap_StockOptionPlanExpense_7FD2B09BF424F986A02F03C81691CF71" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockOptionPlanExpense_7FD2B09BF424F986A02F03C81691CF71" xlink:to="lab_us-gaap_StockOptionPlanExpense_7FD2B09BF424F986A02F03C81691CF71" xlink:type="arc" />
    <link:label id="lab_us-gaap_Depreciation_5D24DFACDAAE5E454BE403C81691A733_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation_5D24DFACDAAE5E454BE403C81691A733" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Depreciation of property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_Depreciation_5D24DFACDAAE5E454BE403C81691A733_label_en-US" xlink:label="lab_us-gaap_Depreciation_5D24DFACDAAE5E454BE403C81691A733" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_5D24DFACDAAE5E454BE403C81691A733" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation_5D24DFACDAAE5E454BE403C81691A733" xlink:to="lab_us-gaap_Depreciation_5D24DFACDAAE5E454BE403C81691A733" xlink:type="arc" />
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_A50180199106DDD7B71D03C81692469F_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets_A50180199106DDD7B71D03C81692469F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortization of intangible assets</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_A50180199106DDD7B71D03C81692469F_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets_A50180199106DDD7B71D03C81692469F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_A50180199106DDD7B71D03C81692469F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets_A50180199106DDD7B71D03C81692469F" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets_A50180199106DDD7B71D03C81692469F" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_61CD59A4547BCAE25AAF03C8169276ED_negatedLabel_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_61CD59A4547BCAE25AAF03C8169276ED" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Amortization of discounts or premiums on investments</link:label>
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_61CD59A4547BCAE25AAF03C8169276ED_label_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_61CD59A4547BCAE25AAF03C8169276ED" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accretion (Amortization) of Discounts and Premiums, Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_61CD59A4547BCAE25AAF03C8169276ED" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_61CD59A4547BCAE25AAF03C8169276ED" xlink:to="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_61CD59A4547BCAE25AAF03C8169276ED" xlink:type="arc" />
    <link:label id="lab_us-gaap_GainLossOnSaleOfInvestments_A0FD4DFA0A1738267B4B03C81692F5C7_negatedLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfInvestments_A0FD4DFA0A1738267B4B03C81692F5C7" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Realized (gain) loss on sale of investments</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfInvestments_A0FD4DFA0A1738267B4B03C81692F5C7_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfInvestments_A0FD4DFA0A1738267B4B03C81692F5C7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gain (Loss) on Sale of Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_A0FD4DFA0A1738267B4B03C81692F5C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfInvestments_A0FD4DFA0A1738267B4B03C81692F5C7" xlink:to="lab_us-gaap_GainLossOnSaleOfInvestments_A0FD4DFA0A1738267B4B03C81692F5C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_026F7814C6F32D4A217803C816921E36_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_026F7814C6F32D4A217803C816921E36" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revaluation of contingent consideration</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_026F7814C6F32D4A217803C816921E36_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_026F7814C6F32D4A217803C816921E36" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_026F7814C6F32D4A217803C816921E36" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_026F7814C6F32D4A217803C816921E36" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_026F7814C6F32D4A217803C816921E36" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_F862DFA346E1A0B2556B03C816923D77_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_F862DFA346E1A0B2556B03C816923D77" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Change in deferred income taxes</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_F862DFA346E1A0B2556B03C816923D77_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_F862DFA346E1A0B2556B03C816923D77" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Deferred Income Taxes</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_F862DFA346E1A0B2556B03C816923D77" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_F862DFA346E1A0B2556B03C816923D77" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_F862DFA346E1A0B2556B03C816923D77" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Change in operating assets and liabilities:</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_93ACA3DCFA7BEA2F065E03C81692C65E_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_93ACA3DCFA7BEA2F065E03C81692C65E" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_93ACA3DCFA7BEA2F065E03C81692C65E_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_93ACA3DCFA7BEA2F065E03C81692C65E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_93ACA3DCFA7BEA2F065E03C81692C65E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_93ACA3DCFA7BEA2F065E03C81692C65E" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_93ACA3DCFA7BEA2F065E03C81692C65E" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_CA3D2B61E5D8179AF4E303C816929B33_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_CA3D2B61E5D8179AF4E303C816929B33" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Unbilled revenue</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_CA3D2B61E5D8179AF4E303C816929B33_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_CA3D2B61E5D8179AF4E303C816929B33" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Unbilled Receivables</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_CA3D2B61E5D8179AF4E303C816929B33" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_CA3D2B61E5D8179AF4E303C816929B33" xlink:to="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_CA3D2B61E5D8179AF4E303C816929B33" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_802BA9C2660DEF34AD7B03C8169212AC_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories_802BA9C2660DEF34AD7B03C8169212AC" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_802BA9C2660DEF34AD7B03C8169212AC_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories_802BA9C2660DEF34AD7B03C8169212AC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_802BA9C2660DEF34AD7B03C8169212AC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories_802BA9C2660DEF34AD7B03C8169212AC" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories_802BA9C2660DEF34AD7B03C8169212AC" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_5940E03120C7A66DBFB703C81692069A_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_5940E03120C7A66DBFB703C81692069A" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_5940E03120C7A66DBFB703C81692069A_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_5940E03120C7A66DBFB703C81692069A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_5940E03120C7A66DBFB703C81692069A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_5940E03120C7A66DBFB703C81692069A" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_5940E03120C7A66DBFB703C81692069A" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_1386BF41C2F090639F5103C816926A21_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable_1386BF41C2F090639F5103C816926A21" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_1386BF41C2F090639F5103C816926A21_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable_1386BF41C2F090639F5103C816926A21" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_1386BF41C2F090639F5103C816926A21" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable_1386BF41C2F090639F5103C816926A21" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable_1386BF41C2F090639F5103C816926A21" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_CD2934D4BD02AF018B7103C816922C83_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_CD2934D4BD02AF018B7103C816922C83" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_CD2934D4BD02AF018B7103C816922C83_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_CD2934D4BD02AF018B7103C816922C83" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_CD2934D4BD02AF018B7103C816922C83" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_CD2934D4BD02AF018B7103C816922C83" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_CD2934D4BD02AF018B7103C816922C83" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_FA28B03D9F1316C5E09903C81692A4AE_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_FA28B03D9F1316C5E09903C81692A4AE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued income taxes</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_FA28B03D9F1316C5E09903C81692A4AE_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_FA28B03D9F1316C5E09903C81692A4AE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accrued Taxes Payable</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_FA28B03D9F1316C5E09903C81692A4AE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_FA28B03D9F1316C5E09903C81692A4AE" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_FA28B03D9F1316C5E09903C81692A4AE" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_27FD3B0060E7AFEE8CCE03C81692812F_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_27FD3B0060E7AFEE8CCE03C81692812F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue and customer deposits</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_27FD3B0060E7AFEE8CCE03C81692812F_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_27FD3B0060E7AFEE8CCE03C81692812F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Deferred Revenue</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_27FD3B0060E7AFEE8CCE03C81692812F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_27FD3B0060E7AFEE8CCE03C81692812F" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_27FD3B0060E7AFEE8CCE03C81692812F" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_94391A0A404984C7713103C8169264D8_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_94391A0A404984C7713103C8169264D8" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_94391A0A404984C7713103C8169264D8_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_94391A0A404984C7713103C8169264D8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Other Operating Assets and Liabilities, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_94391A0A404984C7713103C8169264D8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_94391A0A404984C7713103C8169264D8" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_94391A0A404984C7713103C8169264D8" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_4F49A8E48146136505FC03C8169237DD_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_4F49A8E48146136505FC03C8169237DD" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_4F49A8E48146136505FC03C8169237DD_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_4F49A8E48146136505FC03C8169237DD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_4F49A8E48146136505FC03C8169237DD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_4F49A8E48146136505FC03C8169237DD" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_4F49A8E48146136505FC03C8169237DD" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquireInvestments_E2F46536AD24FDAE93EF03C8169254FA_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireInvestments_E2F46536AD24FDAE93EF03C8169254FA" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchases of investments</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireInvestments_E2F46536AD24FDAE93EF03C8169254FA_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireInvestments_E2F46536AD24FDAE93EF03C8169254FA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_E2F46536AD24FDAE93EF03C8169254FA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireInvestments_E2F46536AD24FDAE93EF03C8169254FA" xlink:to="lab_us-gaap_PaymentsToAcquireInvestments_E2F46536AD24FDAE93EF03C8169254FA" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_296A2BCAA66EDC774BA903C816921743_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_296A2BCAA66EDC774BA903C816921743" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maturities and sales of investments</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_296A2BCAA66EDC774BA903C816921743_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_296A2BCAA66EDC774BA903C816921743" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from Sale, Maturity and Collection of Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_296A2BCAA66EDC774BA903C816921743" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_296A2BCAA66EDC774BA903C816921743" xlink:to="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_296A2BCAA66EDC774BA903C816921743" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_98EA5A1F0003FEA54DAD03C816927767_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_98EA5A1F0003FEA54DAD03C816927767" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchases of property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_98EA5A1F0003FEA54DAD03C816927767_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_98EA5A1F0003FEA54DAD03C816927767" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_98EA5A1F0003FEA54DAD03C816927767" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_98EA5A1F0003FEA54DAD03C816927767" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_98EA5A1F0003FEA54DAD03C816927767" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2814068F35A390933D5603C816922E9B_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2814068F35A390933D5603C816922E9B" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Cash paid for acquisition of business</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2814068F35A390933D5603C816922E9B_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2814068F35A390933D5603C816922E9B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2814068F35A390933D5603C816922E9B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2814068F35A390933D5603C816922E9B" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2814068F35A390933D5603C816922E9B" xlink:type="arc" />
    <link:label id="lab_cgnx_PaymentsForDivestitureofBusinesses_7312BD389E7F20FD5B0103C816924D47_negatedLabel_en-US" xlink:label="lab_cgnx_PaymentsForDivestitureofBusinesses_7312BD389E7F20FD5B0103C816924D47" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Cash paid related to discontinued business</link:label>
    <link:label id="lab_cgnx_PaymentsForDivestitureofBusinesses_7312BD389E7F20FD5B0103C816924D47_label_en-US" xlink:label="lab_cgnx_PaymentsForDivestitureofBusinesses_7312BD389E7F20FD5B0103C816924D47" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments For Divestiture of Businesses</link:label>
    <link:label id="lab_cgnx_PaymentsForDivestitureofBusinesses_7312BD389E7F20FD5B0103C816924D47_documentation_en-US" xlink:label="lab_cgnx_PaymentsForDivestitureofBusinesses_7312BD389E7F20FD5B0103C816924D47" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Payments For Divestiture of Businesses</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_PaymentsForDivestitureofBusinesses" xlink:label="loc_cgnx_PaymentsForDivestitureofBusinesses_7312BD389E7F20FD5B0103C816924D47" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_PaymentsForDivestitureofBusinesses_7312BD389E7F20FD5B0103C816924D47" xlink:to="lab_cgnx_PaymentsForDivestitureofBusinesses_7312BD389E7F20FD5B0103C816924D47" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_7833A75819597451A71B03C8169262CB_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_7833A75819597451A71B03C8169262CB" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by (used in) investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_7833A75819597451A71B03C8169262CB_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_7833A75819597451A71B03C8169262CB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_7833A75819597451A71B03C8169262CB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_7833A75819597451A71B03C8169262CB" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_7833A75819597451A71B03C8169262CB" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_7140708CE47F3719ACF203C8169290FA_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_7140708CE47F3719ACF203C8169290FA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Issuance of common stock under stock plans</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_7140708CE47F3719ACF203C8169290FA_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_7140708CE47F3719ACF203C8169290FA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from Issuance of Shares under Incentive and Share-based Compensation Plans, Including Stock Options</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_7140708CE47F3719ACF203C8169290FA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_7140708CE47F3719ACF203C8169290FA" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_7140708CE47F3719ACF203C8169290FA" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_5A595040216B42564EDD03C8169375D4_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_5A595040216B42564EDD03C8169375D4" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repurchase of common stock</link:label>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_5A595040216B42564EDD03C8169375D4_label_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_5A595040216B42564EDD03C8169375D4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_5A595040216B42564EDD03C8169375D4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_5A595040216B42564EDD03C8169375D4" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_5A595040216B42564EDD03C8169375D4" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsOfDividendsCommonStock_54C3785DBB777E1F329603C81693A13A_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDividendsCommonStock_54C3785DBB777E1F329603C81693A13A" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Payment of dividends</link:label>
    <link:label id="lab_us-gaap_PaymentsOfDividendsCommonStock_54C3785DBB777E1F329603C81693A13A_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDividendsCommonStock_54C3785DBB777E1F329603C81693A13A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments of Ordinary Dividends, Common Stock</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_54C3785DBB777E1F329603C81693A13A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDividendsCommonStock_54C3785DBB777E1F329603C81693A13A" xlink:to="lab_us-gaap_PaymentsOfDividendsCommonStock_54C3785DBB777E1F329603C81693A13A" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_267BAE3A5730CC8DB5BE03C816932CE0_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_267BAE3A5730CC8DB5BE03C816932CE0" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by (used in) financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_267BAE3A5730CC8DB5BE03C816932CE0_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_267BAE3A5730CC8DB5BE03C816932CE0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_267BAE3A5730CC8DB5BE03C816932CE0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_267BAE3A5730CC8DB5BE03C816932CE0" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_267BAE3A5730CC8DB5BE03C816932CE0" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_D3B975FF118F15BB16AB03C816937AC9_terseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_D3B975FF118F15BB16AB03C816937AC9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effect of foreign exchange rate changes on cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_D3B975FF118F15BB16AB03C816937AC9_label_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_D3B975FF118F15BB16AB03C816937AC9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effect of Exchange Rate on Cash and Cash Equivalents</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_D3B975FF118F15BB16AB03C816937AC9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_D3B975FF118F15BB16AB03C816937AC9" xlink:to="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_D3B975FF118F15BB16AB03C816937AC9" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_2D89C9B6F75C0310CD1B03C816930EE9_totalLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_2D89C9B6F75C0310CD1B03C816930EE9" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net change in cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_2D89C9B6F75C0310CD1B03C816930EE9_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_2D89C9B6F75C0310CD1B03C816930EE9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents, Period Increase (Decrease)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_2D89C9B6F75C0310CD1B03C816930EE9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_2D89C9B6F75C0310CD1B03C816930EE9" xlink:to="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_2D89C9B6F75C0310CD1B03C816930EE9" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_1F8463A8D95513CF3EFD03C816939741_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_1F8463A8D95513CF3EFD03C816939741" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents at beginning of period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_1F8463A8D95513CF3EFD03C816939741" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_1F8463A8D95513CF3EFD03C816939741" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_1F8463A8D95513CF3EFD03C816939741" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_5A8485A59E211BBB786503C8169364E9_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_5A8485A59E211BBB786503C8169364E9" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents at end of period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_5A8485A59E211BBB786503C8169364E9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_5A8485A59E211BBB786503C8169364E9" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_5A8485A59E211BBB786503C8169364E9" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_0ACDBCE8289ED0F71B11F96C12889C7D_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock_0ACDBCE8289ED0F71B11F96C12889C7D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value Measurements</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_0ACDBCE8289ED0F71B11F96C12889C7D_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock_0ACDBCE8289ED0F71B11F96C12889C7D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_0ACDBCE8289ED0F71B11F96C12889C7D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresTextBlock_0ACDBCE8289ED0F71B11F96C12889C7D" xlink:to="lab_us-gaap_FairValueDisclosuresTextBlock_0ACDBCE8289ED0F71B11F96C12889C7D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Class of Treasury Stock [Table]</link:label>
    <link:label id="lab_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624_label_en-US" xlink:label="lab_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Treasury Stock [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624" xlink:to="lab_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624" xlink:type="arc" />
    <link:label id="lab_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17_terseLabel_en-US" xlink:label="lab_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchase Program April 2017</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17_label_en-US" xlink:label="lab_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Repurchase Program April 2017 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17_documentation_en-US" xlink:label="lab_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Repurchase Program April 2017 [Member]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_RepurchaseProgramApril2017Member" xlink:label="loc_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17" xlink:to="lab_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17" xlink:type="arc" />
    <link:label id="lab_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC_terseLabel_en-US" xlink:label="lab_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchase Program February 2018</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC_label_en-US" xlink:label="lab_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Repurchase Program February 2018 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC_documentation_en-US" xlink:label="lab_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Repurchase Program February 2018 [Member]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_RepurchaseProgramFebruary2018Member" xlink:label="loc_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC" xlink:to="lab_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC" xlink:type="arc" />
    <link:label id="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C_terseLabel_en-US" xlink:label="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchase Program April 2017 and February 2018</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C_label_en-US" xlink:label="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Repurchase Program April 2017 and February 2018 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C_documentation_en-US" xlink:label="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Repurchase Program April 2017 and February 2018 [Member]</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_RepurchaseProgramApril2017andFebruary2018Member" xlink:label="loc_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C" xlink:to="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32_terseLabel_en-US" xlink:label="lab_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity, Class of Treasury Stock [Line Items]</link:label>
    <link:label id="lab_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32_label_en-US" xlink:label="lab_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity, Class of Treasury Stock [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="lab_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:type="arc" />
    <link:label id="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D_terseLabel_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of shares repurchased</link:label>
    <link:label id="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D_label_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Aggregate Number of Shares Repurchased</link:label>
    <link:label id="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D_documentation_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Aggregate Number of Shares Repurchased</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased" xlink:label="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D" xlink:to="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D" xlink:type="arc" />
    <link:label id="lab_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B_terseLabel_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Value of shares repurchased</link:label>
    <link:label id="lab_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B_label_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Value</link:label>
    <link:label id="lab_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B_documentation_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Value</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_StockRepurchaseProgramValue" xlink:label="loc_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B" xlink:to="lab_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_672DED459CB5827AB80C09050735FE00_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares_672DED459CB5827AB80C09050735FE00" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchase of common stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_672DED459CB5827AB80C09050735FE00_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares_672DED459CB5827AB80C09050735FE00" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_672DED459CB5827AB80C09050735FE00" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares_672DED459CB5827AB80C09050735FE00" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares_672DED459CB5827AB80C09050735FE00" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_D78BF65CBE60941A67A4090507359A83_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue_D78BF65CBE60941A67A4090507359A83" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock repurchased during period, Value</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_D78BF65CBE60941A67A4090507359A83_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue_D78BF65CBE60941A67A4090507359A83" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchased During Period, Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_D78BF65CBE60941A67A4090507359A83" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue_D78BF65CBE60941A67A4090507359A83" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue_D78BF65CBE60941A67A4090507359A83" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_882F4FEE2232C554958E090507358261_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_882F4FEE2232C554958E090507358261" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Remaining authorized purchase amount</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_882F4FEE2232C554958E090507358261_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_882F4FEE2232C554958E090507358261" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Remaining Authorized Repurchase Amount</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_882F4FEE2232C554958E090507358261" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_882F4FEE2232C554958E090507358261" xlink:to="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_882F4FEE2232C554958E090507358261" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_C9B20273A8A68142A817F96C12B50FE2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_C9B20273A8A68142A817F96C12B50FE2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_C9B20273A8A68142A817F96C12B50FE2_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_C9B20273A8A68142A817F96C12B50FE2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_C9B20273A8A68142A817F96C12B50FE2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_C9B20273A8A68142A817F96C12B50FE2" xlink:to="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_C9B20273A8A68142A817F96C12B50FE2" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_1549532D2F2DB3C8E4B8F96C12CDD636_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_1549532D2F2DB3C8E4B8F96C12CDD636" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Basic weighted-average common shares outstanding</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_1549532D2F2DB3C8E4B8F96C12CDD636" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_1549532D2F2DB3C8E4B8F96C12CDD636" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_1549532D2F2DB3C8E4B8F96C12CDD636" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_2BD51B4B730F311F5E18F96C12CE1792_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_2BD51B4B730F311F5E18F96C12CE1792" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effect of dilutive stock options</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_2BD51B4B730F311F5E18F96C12CE1792_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_2BD51B4B730F311F5E18F96C12CE1792" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number Diluted Shares Outstanding Adjustment</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_2BD51B4B730F311F5E18F96C12CE1792" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_2BD51B4B730F311F5E18F96C12CE1792" xlink:to="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_2BD51B4B730F311F5E18F96C12CE1792" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2ED81F17E25DACBD9C41F96C12D079B6_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2ED81F17E25DACBD9C41F96C12D079B6" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Weighted-average common and common-equivalent shares outstanding</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2ED81F17E25DACBD9C41F96C12D079B6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2ED81F17E25DACBD9C41F96C12D079B6" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2ED81F17E25DACBD9C41F96C12D079B6" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_E0ED43173C1FAEB2F14D03C8151F433A_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_E0ED43173C1FAEB2F14D03C8151F433A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_E0ED43173C1FAEB2F14D03C8151F433A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_E0ED43173C1FAEB2F14D03C8151F433A" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_E0ED43173C1FAEB2F14D03C8151F433A" xlink:type="arc" />
    <link:label id="lab_us-gaap_CostOfGoodsTotalMember_27141E164EFC2DCCFE5D03C81520ECE5_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsTotalMember_27141E164EFC2DCCFE5D03C81520ECE5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cost of Revenue</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsTotalMember_27141E164EFC2DCCFE5D03C81520ECE5_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsTotalMember_27141E164EFC2DCCFE5D03C81520ECE5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of Goods, Total [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsTotalMember" xlink:label="loc_us-gaap_CostOfGoodsTotalMember_27141E164EFC2DCCFE5D03C81520ECE5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsTotalMember_27141E164EFC2DCCFE5D03C81520ECE5" xlink:to="lab_us-gaap_CostOfGoodsTotalMember_27141E164EFC2DCCFE5D03C81520ECE5" xlink:type="arc" />
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD_terseLabel_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Selling, General, and Administrative</link:label>
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD_label_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling General And Administrative [Member]</link:label>
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD_documentation_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Selling, general, and administrative.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_SellingGeneralAndAdministrativeMember" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD" xlink:to="lab_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B_label_en-US" xlink:label="lab_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B" xlink:to="lab_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F" xlink:to="lab_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:to="lab_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockMember_02638F9D2EE7AABB94FE03C816870099_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember_02638F9D2EE7AABB94FE03C816870099" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_02638F9D2EE7AABB94FE03C816870099_label_en-US" xlink:label="lab_us-gaap_CommonStockMember_02638F9D2EE7AABB94FE03C816870099" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_02638F9D2EE7AABB94FE03C816870099" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember_02638F9D2EE7AABB94FE03C816870099" xlink:to="lab_us-gaap_CommonStockMember_02638F9D2EE7AABB94FE03C816870099" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_08ACF6070B5F40F7FE8203C816875299_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember_08ACF6070B5F40F7FE8203C816875299" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_08ACF6070B5F40F7FE8203C816875299_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember_08ACF6070B5F40F7FE8203C816875299" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_08ACF6070B5F40F7FE8203C816875299" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember_08ACF6070B5F40F7FE8203C816875299" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember_08ACF6070B5F40F7FE8203C816875299" xlink:type="arc" />
    <link:label id="lab_us-gaap_RetainedEarningsMember_1785EA2BB92FCEAE492A03C816874E72_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember_1785EA2BB92FCEAE492A03C816874E72" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Retained Earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_1785EA2BB92FCEAE492A03C816874E72_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember_1785EA2BB92FCEAE492A03C816874E72" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_1785EA2BB92FCEAE492A03C816874E72" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember_1785EA2BB92FCEAE492A03C816874E72" xlink:to="lab_us-gaap_RetainedEarningsMember_1785EA2BB92FCEAE492A03C816874E72" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7CC2E272F96A358B692303C816873F0B_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7CC2E272F96A358B692303C816873F0B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7CC2E272F96A358B692303C816873F0B_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7CC2E272F96A358B692303C816873F0B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7CC2E272F96A358B692303C816873F0B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7CC2E272F96A358B692303C816873F0B" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7CC2E272F96A358B692303C816873F0B" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D_label_en-US" xlink:label="lab_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D" xlink:to="lab_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesIssued_658A6DF523319D9AE83E03C8168768CE_periodStartLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_658A6DF523319D9AE83E03C8168768CE" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning Balance, Shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_658A6DF523319D9AE83E03C8168768CE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued_658A6DF523319D9AE83E03C8168768CE" xlink:to="lab_us-gaap_CommonStockSharesIssued_658A6DF523319D9AE83E03C8168768CE" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquity_A2672811BB0ADFE88EB103C81687BB90_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity_A2672811BB0ADFE88EB103C81687BB90" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning Balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_A2672811BB0ADFE88EB103C81687BB90" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity_A2672811BB0ADFE88EB103C81687BB90" xlink:to="lab_us-gaap_StockholdersEquity_A2672811BB0ADFE88EB103C81687BB90" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_0862DA0C25BDEC46320D03C816870F96_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_0862DA0C25BDEC46320D03C816870F96" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Issuance of common stock under stock plans, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_0862DA0C25BDEC46320D03C816870F96_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_0862DA0C25BDEC46320D03C816870F96" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_0862DA0C25BDEC46320D03C816870F96" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_0862DA0C25BDEC46320D03C816870F96" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_0862DA0C25BDEC46320D03C816870F96" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_AC68BF78F77F2AFF6B4903C81687D4FE_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_AC68BF78F77F2AFF6B4903C81687D4FE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Issuance of common stock under stock plans</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_AC68BF78F77F2AFF6B4903C81687D4FE_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_AC68BF78F77F2AFF6B4903C81687D4FE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_AC68BF78F77F2AFF6B4903C81687D4FE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_AC68BF78F77F2AFF6B4903C81687D4FE" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_AC68BF78F77F2AFF6B4903C81687D4FE" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_C615C3615706A4F79BA603C816875002_negatedLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares_C615C3615706A4F79BA603C816875002" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repurchase of common stock (in shares)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_C615C3615706A4F79BA603C816875002" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares_C615C3615706A4F79BA603C816875002" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares_C615C3615706A4F79BA603C816875002" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_D617B51F8586362E945C03C816877286_negatedLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue_D617B51F8586362E945C03C816877286" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repurchase of common stock</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_D617B51F8586362E945C03C816877286" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue_D617B51F8586362E945C03C816877286" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue_D617B51F8586362E945C03C816877286" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BC4B578041E93B2BFCC803C81687E490_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BC4B578041E93B2BFCC803C81687E490" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BC4B578041E93B2BFCC803C81687E490_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BC4B578041E93B2BFCC803C81687E490" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BC4B578041E93B2BFCC803C81687E490" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BC4B578041E93B2BFCC803C81687E490" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BC4B578041E93B2BFCC803C81687E490" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendsCash_F78B4AEF7D4AF5C34F8803C816885027_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DividendsCash_F78B4AEF7D4AF5C34F8803C816885027" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Payment of dividends</link:label>
    <link:label id="lab_us-gaap_DividendsCash_F78B4AEF7D4AF5C34F8803C816885027_label_en-US" xlink:label="lab_us-gaap_DividendsCash_F78B4AEF7D4AF5C34F8803C816885027" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dividends, Cash</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendsCash" xlink:label="loc_us-gaap_DividendsCash_F78B4AEF7D4AF5C34F8803C816885027" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendsCash_F78B4AEF7D4AF5C34F8803C816885027" xlink:to="lab_us-gaap_DividendsCash_F78B4AEF7D4AF5C34F8803C816885027" xlink:type="arc" />
    <link:label id="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_3026BFE2898E4D5687A203D67AF20F9A_terseLabel_en-US" xlink:label="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_3026BFE2898E4D5687A203D67AF20F9A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustment as a result of the adoption of ASU 2016-16 Income Taxes - Intra-Entity Transfers Other than Inventory (Note 12)</link:label>
    <link:label id="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_3026BFE2898E4D5687A203D67AF20F9A_label_en-US" xlink:label="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_3026BFE2898E4D5687A203D67AF20F9A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cumulative Effect of New Accounting Principle in Period of Adoption</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_3026BFE2898E4D5687A203D67AF20F9A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_3026BFE2898E4D5687A203D67AF20F9A" xlink:to="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_3026BFE2898E4D5687A203D67AF20F9A" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_045016614AD63551913503C8168843DA_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_045016614AD63551913503C8168843DA" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized gain (loss) on available-for-sale investments, net of tax of ($114)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_045016614AD63551913503C8168843DA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_045016614AD63551913503C8168843DA" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_045016614AD63551913503C8168843DA" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_80B734B08ABD9B6BD53503C816886125_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_80B734B08ABD9B6BD53503C816886125" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_80B734B08ABD9B6BD53503C816886125" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_80B734B08ABD9B6BD53503C816886125" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_80B734B08ABD9B6BD53503C816886125" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_537802FFA291CC7B89F303C8168829C7_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_537802FFA291CC7B89F303C8168829C7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_537802FFA291CC7B89F303C8168829C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_537802FFA291CC7B89F303C8168829C7" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_537802FFA291CC7B89F303C8168829C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesIssued_576C3E8FA582BB0BBA6F03C816885521_periodEndLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_576C3E8FA582BB0BBA6F03C816885521" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending Balance, Shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_576C3E8FA582BB0BBA6F03C816885521" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued_576C3E8FA582BB0BBA6F03C816885521" xlink:to="lab_us-gaap_CommonStockSharesIssued_576C3E8FA582BB0BBA6F03C816885521" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquity_F39B0E7A8318D8A4536103C81688C15A_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity_F39B0E7A8318D8A4536103C81688C15A" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending Balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_F39B0E7A8318D8A4536103C81688C15A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity_F39B0E7A8318D8A4536103C81688C15A" xlink:to="lab_us-gaap_StockholdersEquity_F39B0E7A8318D8A4536103C81688C15A" xlink:type="arc" />
    <link:label id="lab_cgnx_OutstandingForwardContractsTableTextBlock_288ED545908262F2CEB503C815ECA9C7_terseLabel_en-US" xlink:label="lab_cgnx_OutstandingForwardContractsTableTextBlock_288ED545908262F2CEB503C815ECA9C7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Outstanding Forward Contracts Table</link:label>
    <link:label id="lab_cgnx_OutstandingForwardContractsTableTextBlock_288ED545908262F2CEB503C815ECA9C7_label_en-US" xlink:label="lab_cgnx_OutstandingForwardContractsTableTextBlock_288ED545908262F2CEB503C815ECA9C7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Outstanding Forward Contracts [Table Text Block]</link:label>
    <link:label id="lab_cgnx_OutstandingForwardContractsTableTextBlock_288ED545908262F2CEB503C815ECA9C7_documentation_en-US" xlink:label="lab_cgnx_OutstandingForwardContractsTableTextBlock_288ED545908262F2CEB503C815ECA9C7" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Outstanding forward contracts table.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_OutstandingForwardContractsTableTextBlock" xlink:label="loc_cgnx_OutstandingForwardContractsTableTextBlock_288ED545908262F2CEB503C815ECA9C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_OutstandingForwardContractsTableTextBlock_288ED545908262F2CEB503C815ECA9C7" xlink:to="lab_cgnx_OutstandingForwardContractsTableTextBlock_288ED545908262F2CEB503C815ECA9C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C34F4EAAEF15A948F60603C815ECA418_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C34F4EAAEF15A948F60603C815ECA418" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C34F4EAAEF15A948F60603C815ECA418_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C34F4EAAEF15A948F60603C815ECA418" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C34F4EAAEF15A948F60603C815ECA418" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C34F4EAAEF15A948F60603C815ECA418" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C34F4EAAEF15A948F60603C815ECA418" xlink:type="arc" />
    <link:label id="lab_us-gaap_OffsettingAssetsTableTextBlock_9BEA4FDFFB94F37429C203C815ECA760_terseLabel_en-US" xlink:label="lab_us-gaap_OffsettingAssetsTableTextBlock_9BEA4FDFFB94F37429C203C815ECA760" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Offsetting Assets</link:label>
    <link:label id="lab_us-gaap_OffsettingAssetsTableTextBlock_9BEA4FDFFB94F37429C203C815ECA760_label_en-US" xlink:label="lab_us-gaap_OffsettingAssetsTableTextBlock_9BEA4FDFFB94F37429C203C815ECA760" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Offsetting Assets [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OffsettingAssetsTableTextBlock" xlink:label="loc_us-gaap_OffsettingAssetsTableTextBlock_9BEA4FDFFB94F37429C203C815ECA760" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OffsettingAssetsTableTextBlock_9BEA4FDFFB94F37429C203C815ECA760" xlink:to="lab_us-gaap_OffsettingAssetsTableTextBlock_9BEA4FDFFB94F37429C203C815ECA760" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_C52B7A4896653CFF7CC303C815EC8345_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_C52B7A4896653CFF7CC303C815EC8345" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss)</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_C52B7A4896653CFF7CC303C815EC8345_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_C52B7A4896653CFF7CC303C815EC8345" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_C52B7A4896653CFF7CC303C815EC8345" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_C52B7A4896653CFF7CC303C815EC8345" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_C52B7A4896653CFF7CC303C815EC8345" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyDisclosureTextBlock_AFF6D69850BDF826AE67F96C12DF37D8_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock_AFF6D69850BDF826AE67F96C12DF37D8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Warranty Obligations</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyDisclosureTextBlock_AFF6D69850BDF826AE67F96C12DF37D8_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock_AFF6D69850BDF826AE67F96C12DF37D8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Warranty Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock_AFF6D69850BDF826AE67F96C12DF37D8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyDisclosureTextBlock_AFF6D69850BDF826AE67F96C12DF37D8" xlink:to="lab_us-gaap_ProductWarrantyDisclosureTextBlock_AFF6D69850BDF826AE67F96C12DF37D8" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_C4E9B47C3CD07C59F6B8F96C122B87B4_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves_C4E9B47C3CD07C59F6B8F96C122B87B4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Raw materials</link:label>
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_C4E9B47C3CD07C59F6B8F96C122B87B4_label_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves_C4E9B47C3CD07C59F6B8F96C122B87B4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Raw Materials, Net of Reserves</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_C4E9B47C3CD07C59F6B8F96C122B87B4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterialsNetOfReserves_C4E9B47C3CD07C59F6B8F96C122B87B4" xlink:to="lab_us-gaap_InventoryRawMaterialsNetOfReserves_C4E9B47C3CD07C59F6B8F96C122B87B4" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_6C5257658A205188C73AF96C122B26F0_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves_6C5257658A205188C73AF96C122B26F0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Work-in-process</link:label>
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_6C5257658A205188C73AF96C122B26F0_label_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves_6C5257658A205188C73AF96C122B26F0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Work in Process, Net of Reserves</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_6C5257658A205188C73AF96C122B26F0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWorkInProcessNetOfReserves_6C5257658A205188C73AF96C122B26F0" xlink:to="lab_us-gaap_InventoryWorkInProcessNetOfReserves_6C5257658A205188C73AF96C122B26F0" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_84178EF97689308598FFF96C122C1B43_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_84178EF97689308598FFF96C122C1B43" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finished goods</link:label>
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_84178EF97689308598FFF96C122C1B43_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_84178EF97689308598FFF96C122C1B43" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Finished Goods, Net of Reserves</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_84178EF97689308598FFF96C122C1B43" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_84178EF97689308598FFF96C122C1B43" xlink:to="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_84178EF97689308598FFF96C122C1B43" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryNet_42EAC24B594D87DC8BD0F96C122CAC2E_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet_42EAC24B594D87DC8BD0F96C122CAC2E" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_42EAC24B594D87DC8BD0F96C122CAC2E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet_42EAC24B594D87DC8BD0F96C122CAC2E" xlink:to="lab_us-gaap_InventoryNet_42EAC24B594D87DC8BD0F96C122CAC2E" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B_terseLabel_en-US" xlink:label="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</link:label>
    <link:label id="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B_label_en-US" xlink:label="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:to="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:type="arc" />
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29" xlink:to="lab_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29" xlink:type="arc" />
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:to="lab_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:type="arc" />
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9FCEBB268BB8050A06D8F96C121303DD_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9FCEBB268BB8050A06D8F96C121303DD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Prepaid Expenses and Other Current Assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9FCEBB268BB8050A06D8F96C121303DD_label_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9FCEBB268BB8050A06D8F96C121303DD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid Expenses and Other Current Assets [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9FCEBB268BB8050A06D8F96C121303DD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9FCEBB268BB8050A06D8F96C121303DD" xlink:to="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9FCEBB268BB8050A06D8F96C121303DD" xlink:type="arc" />
    <link:label id="lab_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB_terseLabel_en-US" xlink:label="lab_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued Expenses</link:label>
    <link:label id="lab_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB_label_en-US" xlink:label="lab_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Expenses [Member]</link:label>
    <link:label id="lab_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB_documentation_en-US" xlink:label="lab_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Accrued expenses.</link:label>
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AccruedExpensesMember" xlink:label="loc_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB" xlink:to="lab_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivatives, Fair Value [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67_label_en-US" xlink:label="lab_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivatives, Fair Value [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:to="lab_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssets_12983BAA886CABE2FB2FF96C1213484F_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets_12983BAA886CABE2FB2FF96C1213484F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative asset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_12983BAA886CABE2FB2FF96C1213484F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssets_12983BAA886CABE2FB2FF96C1213484F" xlink:to="lab_us-gaap_DerivativeAssets_12983BAA886CABE2FB2FF96C1213484F" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLiabilities_DAD7F3C5C5BFCCB359F7F96C121418EA_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities_DAD7F3C5C5BFCCB359F7F96C121418EA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_DAD7F3C5C5BFCCB359F7F96C121418EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilities_DAD7F3C5C5BFCCB359F7F96C121418EA" xlink:to="lab_us-gaap_DerivativeLiabilities_DAD7F3C5C5BFCCB359F7F96C121418EA" xlink:type="arc" />
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>12
<FILENAME>cgnx-20180401_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestments" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:href="cgnx-20180401.xsd#CashCashEquivalentsAndInvestmentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:href="cgnx-20180401.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="cgnx-20180401.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementOfShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:href="cgnx-20180401.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstruments" xlink:href="cgnx-20180401.xsd#DerivativeInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:href="cgnx-20180401.xsd#DerivativeInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DocumentAndEntityInformation" xlink:href="cgnx-20180401.xsd#DocumentAndEntityInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurements" xlink:href="cgnx-20180401.xsd#FairValueMeasurements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:href="cgnx-20180401.xsd#FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:href="cgnx-20180401.xsd#FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:href="cgnx-20180401.xsd#FairValueMeasurementsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssets" xlink:href="cgnx-20180401.xsd#IntangibleAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:href="cgnx-20180401.xsd#IntangibleAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsTables" xlink:href="cgnx-20180401.xsd#IntangibleAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Inventories" xlink:href="cgnx-20180401.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:href="cgnx-20180401.xsd#InventoriesScheduleOfInventoriesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesTables" xlink:href="cgnx-20180401.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/NewPronouncements" xlink:href="cgnx-20180401.xsd#NewPronouncements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognition" xlink:href="cgnx-20180401.xsd#RevenueRecognition" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionDetails" xlink:href="cgnx-20180401.xsd#RevenueRecognitionDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionTables" xlink:href="cgnx-20180401.xsd#RevenueRecognitionTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpense" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:href="cgnx-20180401.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgram" xlink:href="cgnx-20180401.xsd#StockRepurchaseProgram" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:href="cgnx-20180401.xsd#StockRepurchaseProgramDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEvents" xlink:href="cgnx-20180401.xsd#SubsequentEvents" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEventsDetails" xlink:href="cgnx-20180401.xsd#SubsequentEventsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="cgnx-20180401.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="cgnx-20180401.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Taxes" xlink:href="cgnx-20180401.xsd#Taxes" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesDetail" xlink:href="cgnx-20180401.xsd#TaxesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:href="cgnx-20180401.xsd#TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesTables" xlink:href="cgnx-20180401.xsd#TaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligations" xlink:href="cgnx-20180401.xsd#WarrantyObligations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:href="cgnx-20180401.xsd#WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsTables" xlink:href="cgnx-20180401.xsd#WarrantyObligationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageShares" xlink:href="cgnx-20180401.xsd#WeightedAverageShares" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:href="cgnx-20180401.xsd#WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:href="cgnx-20180401.xsd#WeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:href="cgnx-20180401.xsd#WeightedAverageSharesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple" />
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestments" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_83F37686EF88679A270FF96C121B3990" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock" xlink:label="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_F149ADFF01AE3BF56D6DF96C121B32FE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_83F37686EF88679A270FF96C121B3990" xlink:to="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_F149ADFF01AE3BF56D6DF96C121B32FE" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_C2590FF87AA5CD9A528403C8163FBA80" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_C2590FF87AA5CD9A528403C8163FBA80" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_C1F320878FEFB7F69CEA03C8163FEE2E" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_091F6647534D04CA43DB03C8163FDFC8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_091F6647534D04CA43DB03C8163FDFC8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_A8FA37AB561C48708FC203C816408B49" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_A8FA37AB561C48708FC203C816408B49" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_7B2770E761866EDA141703C81640B087" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_7B2770E761866EDA141703C81640B087" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="loc_cgnx_AgencyBondsMember_6093447455FFB55A497D03C816400B7D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_5D083CAF2D696D79269203C81640A1F5" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_5D083CAF2D696D79269203C81640A1F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_03929D3444E1D170622303C816404B5A" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B3698723289D17BE42F403C8163F338E" xlink:to="loc_us-gaap_MunicipalBondsMember_03929D3444E1D170622303C816404B5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_94D95BB7AF642A90CF0903C8163F9E9D" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_8D96188B1F0E9D93CA6203C81640833A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_Cash_8D96188B1F0E9D93CA6203C81640833A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_34E5FAEFD29DC28F4EB503C81640B733" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_34E5FAEFD29DC28F4EB503C81640B733" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_62F744B5E6F31076D4F703C81640EE60" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_62F744B5E6F31076D4F703C81640EE60" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8AA05CCDA43FFF31007803C81640F306" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_8AA05CCDA43FFF31007803C81640F306" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_7C741C6A6A90D6EE9C1603C8164064A9" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_7C741C6A6A90D6EE9C1603C8164064A9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_2B117EFDEBF40B7FFE2003C816407885" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_us-gaap_LongTermInvestments_2B117EFDEBF40B7FFE2003C816407885" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BDD96548214593B4909703C816409E37" xlink:to="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_12A639C27D13C188677A03C816407816" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_51643FCB27A1FA4AAD04F96C1278F79B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedGains" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_98EB16EA9A428217D0B7F96C12786E6B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_51643FCB27A1FA4AAD04F96C1278F79B" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_98EB16EA9A428217D0B7F96C12786E6B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_7E64C48FFF59F3E37CD0F96C1279AD12" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_51643FCB27A1FA4AAD04F96C1278F79B" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_7E64C48FFF59F3E37CD0F96C1279AD12" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_F044CD7E71C62A8FB7BB03C8162E04A3" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DFD7F58452B4E86EDDC003C8162EFAB0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_F044CD7E71C62A8FB7BB03C8162E04A3" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DFD7F58452B4E86EDDC003C8162EFAB0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_0213DEF5CDBC1E70340003C8162FE169" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DFD7F58452B4E86EDDC003C8162EFAB0" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_0213DEF5CDBC1E70340003C8162FE169" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_0213DEF5CDBC1E70340003C8162FE169" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_857FF35068994465108103C8162F58E5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_857FF35068994465108103C8162F58E5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_1662622B556D8C0CCFFD03C8162F1DFA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_1662622B556D8C0CCFFD03C8162F1DFA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_B52CD224656B5E83359103C8162F2A78" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_B52CD224656B5E83359103C8162F2A78" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_18A3D054A1AA052CFDA603C8162FC4E1" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_18A3D054A1AA052CFDA603C8162FC4E1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_5E555A9F3D387E38AED703C8162FF701" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:to="loc_us-gaap_MunicipalBondsMember_5E555A9F3D387E38AED703C8162FF701" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_830D565E412841EA35D603C8162F4B38" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_A3E7F0C2A30E5F2EE07A03C8162FFE82" xlink:to="loc_cgnx_AgencyBondsMember_830D565E412841EA35D603C8162F4B38" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DFD7F58452B4E86EDDC003C8162EFAB0" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_33EDCB6FB80CCD334A1C03C8162F185F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_33EDCB6FB80CCD334A1C03C8162F185F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6C881CFE6CF4C768C3D703C8162F9E9C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_896DA32082A0E531FB7403C8162FEC18" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_925AFA9B3DD91FA2B52103C8162F0502" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_CF3E9D48C5732329ACDD03C8162F6F77" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_0ACBAAD87454E751BE9003C8162F453A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_FC41CA2B7DD8A71455A403C8162FE0A4" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BD713B82723490D8C28303C8162F13D9" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_FC41CA2B7DD8A71455A403C8162FE0A4" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_9452AD88D0D0301CE10003C816326EB5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9C524759DB70EA9F4ABD03C816326374" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_9452AD88D0D0301CE10003C816326EB5" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9C524759DB70EA9F4ABD03C816326374" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_5C3CC038925A9A8601EF03C81632D717" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9C524759DB70EA9F4ABD03C816326374" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_5C3CC038925A9A8601EF03C81632D717" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_5C3CC038925A9A8601EF03C81632D717" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_4200D8FAC09F3821601C03C81633744E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_4200D8FAC09F3821601C03C81633744E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_7F68221384191EFD51F603C816334CCC" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_7F68221384191EFD51F603C816334CCC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_6BA41C55DD9C5A0E8A2B03C816333C4B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_6BA41C55DD9C5A0E8A2B03C816333C4B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_05BD8D52312E48EAC56103C816337BBE" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_05BD8D52312E48EAC56103C816337BBE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_D66591FBFA102A8A6AA003C8163363A5" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:to="loc_us-gaap_MunicipalBondsMember_D66591FBFA102A8A6AA003C8163363A5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_B9C6F7809AF5586EEF8203C81633979D" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2CA55B823FB3502C352903C8163314C5" xlink:to="loc_cgnx_AgencyBondsMember_B9C6F7809AF5586EEF8203C81633979D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9C524759DB70EA9F4ABD03C816326374" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_FE61D84DC9F44F2A006203C8163384DB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_FE61D84DC9F44F2A006203C8163384DB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_487F974B2D33F6BD14EF03C81633CBF5" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_487F974B2D33F6BD14EF03C81633CBF5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_01B49248991E7628F3A803C81633EC7A" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_01B49248991E7628F3A803C81633EC7A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_D8260F635EE9F37D499603C816338498" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_D8260F635EE9F37D499603C816338498" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_56BE00C43D76D2974BCB03C816332610" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_56BE00C43D76D2974BCB03C816332610" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1625917C5F8E92AD8EF003C81633D115" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_ABB11F8A077AE4CDB92B03C816337816" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1625917C5F8E92AD8EF003C81633D115" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_AB950ACE05FEDF7B631903C81637A1C2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_1A5DEB52F8B31E47C41703C81637416E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_AB950ACE05FEDF7B631903C81637A1C2" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_1A5DEB52F8B31E47C41703C81637416E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_3F1C7A9C5B086F78AD8003C8163766A2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_1A5DEB52F8B31E47C41703C81637416E" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_3F1C7A9C5B086F78AD8003C8163766A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_3F1C7A9C5B086F78AD8003C8163766A2" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_906CA00D0C7BC43AE84003C81637F00B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_906CA00D0C7BC43AE84003C81637F00B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_1526ED710A600567C49B03C816381DCB" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_1526ED710A600567C49B03C816381DCB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_529DCD5087E920DAEBD803C81637F46A" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_529DCD5087E920DAEBD803C81637F46A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_1404310A7CB596EF50DC03C816389254" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:to="loc_us-gaap_MunicipalBondsMember_1404310A7CB596EF50DC03C816389254" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_62DAE4CDFAA30FA1992603C8163809B6" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_62DAE4CDFAA30FA1992603C8163809B6" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_439512C2A45049536C6D03C81638B05B" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_9B186ABA3AD72CFDC36D03C8163725DC" xlink:to="loc_cgnx_AgencyBondsMember_439512C2A45049536C6D03C81638B05B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeAxis" xlink:label="loc_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_1A5DEB52F8B31E47C41703C81637416E" xlink:to="loc_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentTypeAxis_9F67DF0EFF10F987758403C816382741" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShortTermInvestmentsMember" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_1CABE9353B0A27C146E703C816385CFD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:to="loc_us-gaap_ShortTermInvestmentsMember_1CABE9353B0A27C146E703C816385CFD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_LongTermInvestmentsMember" xlink:label="loc_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_A847231BFC97A18E57B203C816383E98" xlink:to="loc_cgnx_LongTermInvestmentsMember_F53516C1CD09DDA45C6203C816383410" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F798D730028EF85A22BF03C816385C3D" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_1A5DEB52F8B31E47C41703C81637416E" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F798D730028EF85A22BF03C816385C3D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6372B78CD1C61386B18A03C81638C25D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F798D730028EF85A22BF03C816385C3D" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6372B78CD1C61386B18A03C81638C25D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_002629E0BF9CC5CE597503C81638E7C3" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F798D730028EF85A22BF03C816385C3D" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_002629E0BF9CC5CE597503C81638E7C3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_69BFB422428741C3F15703C8163847E4" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F798D730028EF85A22BF03C816385C3D" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_69BFB422428741C3F15703C8163847E4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecurities_BB3CBC62F571064F9DD203C8163834E3" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F798D730028EF85A22BF03C816385C3D" xlink:to="loc_us-gaap_AvailableForSaleSecurities_BB3CBC62F571064F9DD203C8163834E3" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_516743D57E609DD1414BF96C1301C2D7" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" xlink:label="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_50B533F0117C294D4021F96C13012C58" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_516743D57E609DD1414BF96C1301C2D7" xlink:to="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_50B533F0117C294D4021F96C13012C58" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_5A42E9FCDB98C3DCF4A5F96C13015684" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_516743D57E609DD1414BF96C1301C2D7" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_5A42E9FCDB98C3DCF4A5F96C13015684" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_D890BFA7909E817D5504F96C13014604" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_516743D57E609DD1414BF96C1301C2D7" xlink:to="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_D890BFA7909E817D5504F96C13014604" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_1A0E106B897B34A57922F96C1301BA71" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_516743D57E609DD1414BF96C1301C2D7" xlink:to="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_1A0E106B897B34A57922F96C1301BA71" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_4FBF0544D1F7844D26E803C8169B9D9A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_4FBF0544D1F7844D26E803C8169B9D9A" xlink:to="loc_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:to="loc_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_FE5C3ECC97E75B8E76C803C8169B0CA4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_FE5C3ECC97E75B8E76C803C8169B0CA4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_E0741B682B1A02695E7A03C8169BEC66" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_E0741B682B1A02695E7A03C8169BEC66" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_BE4BE26C95F0C5B8D9F803C8169B85CC" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_BE4BE26C95F0C5B8D9F803C8169B85CC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_638841776DC77078BE9903C8169B8C75" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent_638841776DC77078BE9903C8169B8C75" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_EF78CBBC9048F0E5E0C403C8169B0905" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:to="loc_us-gaap_InventoryNet_EF78CBBC9048F0E5E0C403C8169B0905" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_F78545F994F0E293224303C8169B4324" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_F78545F994F0E293224303C8169B4324" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_575A5BC5818A47DF2D1003C8169B1B5E" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_FBFFCEE558593BD69B6103C8169BC0B1" xlink:to="loc_us-gaap_AssetsCurrent_575A5BC5818A47DF2D1003C8169B1B5E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_351B5DB1882A42F8DD2103C8169B0538" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:to="loc_us-gaap_LongTermInvestments_351B5DB1882A42F8DD2103C8169B0538" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_7166E0D28A9C113D46A303C8169BDA05" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_7166E0D28A9C113D46A303C8169BDA05" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_C74BDD78587083D17F5A03C8169B42FE" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:to="loc_us-gaap_Goodwill_C74BDD78587083D17F5A03C8169B42FE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_F54E74AAE4DEB62608F803C8169B53EF" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_F54E74AAE4DEB62608F803C8169B53EF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_57539A22C31D751BAD7303C8169B576D" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:to="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_57539A22C31D751BAD7303C8169B576D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_07BFEF97391E71028FD703C8169B00CB" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_07BFEF97391E71028FD703C8169B00CB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_940AD165799321BF2E6F03C8169BDF9B" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_0A8002B7F2B75C02AF7703C8169BCA7E" xlink:to="loc_us-gaap_Assets_940AD165799321BF2E6F03C8169BDF9B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_4FBF0544D1F7844D26E803C8169B9D9A" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_E12C329567FF2949644D03C8169CF5ED" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A" xlink:to="loc_us-gaap_AccountsPayableCurrent_E12C329567FF2949644D03C8169CF5ED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_EA2C7FBCA351336D7DB303C8169C9E30" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_EA2C7FBCA351336D7DB303C8169C9E30" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_26D05D2A03EDDC3EC30703C8169C54B9" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_26D05D2A03EDDC3EC30703C8169C54B9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_E6E58E7988EF78070BF003C8169CE10B" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A" xlink:to="loc_us-gaap_DeferredRevenueAndCreditsCurrent_E6E58E7988EF78070BF003C8169CE10B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_F1155F0929CC4B5C353303C8169C5CF5" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_233C2D76C81748819C1503C8169C887A" xlink:to="loc_us-gaap_LiabilitiesCurrent_F1155F0929CC4B5C353303C8169C5CF5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_F948D8AECC3B0531DB2D03CC9491CCCA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_F948D8AECC3B0531DB2D03CC9491CCCA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_0CD03983B1B8D0671D7403C8169C6779" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_0CD03983B1B8D0671D7403C8169C6779" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxes" xlink:label="loc_us-gaap_AccruedIncomeTaxes_98D07466DF222E46F0F203CD046C91A1" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:to="loc_us-gaap_AccruedIncomeTaxes_98D07466DF222E46F0F203CD046C91A1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_CCEEAC1422393567ECA803C8169C888F" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_CCEEAC1422393567ECA803C8169C888F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_1CDACE69AE80DE88F7AC03C8169C476A" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:to="loc_us-gaap_Liabilities_1CDACE69AE80DE88F7AC03C8169C476A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:to="loc_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockValueOutstanding" xlink:label="loc_us-gaap_CommonStockValueOutstanding_11E6FA05573FC04C15F503C8169C265E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448" xlink:to="loc_us-gaap_CommonStockValueOutstanding_11E6FA05573FC04C15F503C8169C265E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_858429138338B3E28FD303C8169CF22A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_858429138338B3E28FD303C8169CF22A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_2DE676B0EDE708F2B36A03C8169C94E8" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_2DE676B0EDE708F2B36A03C8169C94E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7FBAA9932B64BB4CFECD03C8169C2F0B" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7FBAA9932B64BB4CFECD03C8169C2F0B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_7F5B476D54A972F60FE603C8169CDF27" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_ECB00939C8C5AD83724203C8169C9448" xlink:to="loc_us-gaap_StockholdersEquity_7F5B476D54A972F60FE603C8169CDF27" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_DEE440F25D0C10F6B3B503C8169CAAB4" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_220CA5342E2B8A978F5B03C8169BC307" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_DEE440F25D0C10F6B3B503C8169CAAB4" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_558108AA6AF3B87E918803C8169511BD" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_84446CC19B511511321603C81695924A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_558108AA6AF3B87E918803C8169511BD" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_84446CC19B511511321603C81695924A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_C9CB86A54FAD0AA1A2C603C81695BB6B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_558108AA6AF3B87E918803C8169511BD" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_C9CB86A54FAD0AA1A2C603C81695BB6B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_0B0C7182A028ECF44A8E03C816953CC0" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_558108AA6AF3B87E918803C8169511BD" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_0B0C7182A028ECF44A8E03C816953CC0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_CDE61340D2D748558F0103C8169568F4" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_558108AA6AF3B87E918803C8169511BD" xlink:to="loc_us-gaap_CommonStockSharesIssued_CDE61340D2D748558F0103C8169568F4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_F91A75C5B684D31A3B1A03CF2363A3D4" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_558108AA6AF3B87E918803C8169511BD" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_F91A75C5B684D31A3B1A03CF2363A3D4" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_E8EA8CC7E006374FAFB503C816878924" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_E8EA8CC7E006374FAFB503C816878924" xlink:to="loc_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_EC55500A2AAD86EDDB4303C816875C4F" xlink:to="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_02638F9D2EE7AABB94FE03C816870099" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:to="loc_us-gaap_CommonStockMember_02638F9D2EE7AABB94FE03C816870099" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_08ACF6070B5F40F7FE8203C816875299" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_08ACF6070B5F40F7FE8203C816875299" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_1785EA2BB92FCEAE492A03C816874E72" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:to="loc_us-gaap_RetainedEarningsMember_1785EA2BB92FCEAE492A03C816874E72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7CC2E272F96A358B692303C816873F0B" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_413F19C0DA578467EE1903C8168719A7" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7CC2E272F96A358B692303C816873F0B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_67852933D14180F8E92603C816874E5B" xlink:to="loc_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_AD73D77C3F1676E6B07A03C81687293D" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_658A6DF523319D9AE83E03C8168768CE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_CommonStockSharesIssued_658A6DF523319D9AE83E03C8168768CE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_A2672811BB0ADFE88EB103C81687BB90" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_StockholdersEquity_A2672811BB0ADFE88EB103C81687BB90" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_0862DA0C25BDEC46320D03C816870F96" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_0862DA0C25BDEC46320D03C816870F96" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_AC68BF78F77F2AFF6B4903C81687D4FE" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_AC68BF78F77F2AFF6B4903C81687D4FE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_C615C3615706A4F79BA603C816875002" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_C615C3615706A4F79BA603C816875002" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_D617B51F8586362E945C03C816877286" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_D617B51F8586362E945C03C816877286" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BC4B578041E93B2BFCC803C81687E490" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BC4B578041E93B2BFCC803C81687E490" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendsCash" xlink:label="loc_us-gaap_DividendsCash_F78B4AEF7D4AF5C34F8803C816885027" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_DividendsCash_F78B4AEF7D4AF5C34F8803C816885027" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_3026BFE2898E4D5687A203D67AF20F9A" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_3026BFE2898E4D5687A203D67AF20F9A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_FFED928A87188B230EBD03C816880F1F" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_NetIncomeLoss_FFED928A87188B230EBD03C816880F1F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_045016614AD63551913503C8168843DA" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_045016614AD63551913503C8168843DA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_80B734B08ABD9B6BD53503C816886125" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_80B734B08ABD9B6BD53503C816886125" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_537802FFA291CC7B89F303C8168829C7" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_537802FFA291CC7B89F303C8168829C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_576C3E8FA582BB0BBA6F03C816885521" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_CommonStockSharesIssued_576C3E8FA582BB0BBA6F03C816885521" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_F39B0E7A8318D8A4536103C81688C15A" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_8AE1FEB11896EDBC33B903C816875025" xlink:to="loc_us-gaap_StockholdersEquity_F39B0E7A8318D8A4536103C81688C15A" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_066D4FF26E9A1C573F9D03C816833FE6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_347F6CCE338315FA324603C81683E745" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_066D4FF26E9A1C573F9D03C816833FE6" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_347F6CCE338315FA324603C81683E745" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_541CBAD8D4EEDB7E6B0903C816916C11" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_541CBAD8D4EEDB7E6B0903C816916C11" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_A16B528EEF335286F5D603C816919F83" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_541CBAD8D4EEDB7E6B0903C816916C11" xlink:to="loc_us-gaap_NetIncomeLoss_A16B528EEF335286F5D603C816919F83" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_541CBAD8D4EEDB7E6B0903C816916C11" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaap_StockOptionPlanExpense_7FD2B09BF424F986A02F03C81691CF71" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:to="loc_us-gaap_StockOptionPlanExpense_7FD2B09BF424F986A02F03C81691CF71" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_5D24DFACDAAE5E454BE403C81691A733" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:to="loc_us-gaap_Depreciation_5D24DFACDAAE5E454BE403C81691A733" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_A50180199106DDD7B71D03C81692469F" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_A50180199106DDD7B71D03C81692469F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_61CD59A4547BCAE25AAF03C8169276ED" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_61CD59A4547BCAE25AAF03C8169276ED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_A0FD4DFA0A1738267B4B03C81692F5C7" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:to="loc_us-gaap_GainLossOnSaleOfInvestments_A0FD4DFA0A1738267B4B03C81692F5C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_026F7814C6F32D4A217803C816921E36" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_026F7814C6F32D4A217803C816921E36" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_F862DFA346E1A0B2556B03C816923D77" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_F862DFA346E1A0B2556B03C816923D77" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_1F7315CCEFEB3831FE6403C81691615D" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_93ACA3DCFA7BEA2F065E03C81692C65E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_93ACA3DCFA7BEA2F065E03C81692C65E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_CA3D2B61E5D8179AF4E303C816929B33" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:to="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_CA3D2B61E5D8179AF4E303C816929B33" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_802BA9C2660DEF34AD7B03C8169212AC" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_802BA9C2660DEF34AD7B03C8169212AC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_5940E03120C7A66DBFB703C81692069A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_5940E03120C7A66DBFB703C81692069A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_1386BF41C2F090639F5103C816926A21" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_1386BF41C2F090639F5103C816926A21" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_CD2934D4BD02AF018B7103C816922C83" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_CD2934D4BD02AF018B7103C816922C83" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_FA28B03D9F1316C5E09903C81692A4AE" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_FA28B03D9F1316C5E09903C81692A4AE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_27FD3B0060E7AFEE8CCE03C81692812F" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_27FD3B0060E7AFEE8CCE03C81692812F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_94391A0A404984C7713103C8169264D8" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_B24BA8327B2B26DD923503D242BC1F2C" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_94391A0A404984C7713103C8169264D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_4F49A8E48146136505FC03C8169237DD" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_541CBAD8D4EEDB7E6B0903C816916C11" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_4F49A8E48146136505FC03C8169237DD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_E2F46536AD24FDAE93EF03C8169254FA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:to="loc_us-gaap_PaymentsToAcquireInvestments_E2F46536AD24FDAE93EF03C8169254FA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_296A2BCAA66EDC774BA903C816921743" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:to="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_296A2BCAA66EDC774BA903C816921743" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_98EA5A1F0003FEA54DAD03C816927767" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_98EA5A1F0003FEA54DAD03C816927767" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2814068F35A390933D5603C816922E9B" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2814068F35A390933D5603C816922E9B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_PaymentsForDivestitureofBusinesses" xlink:label="loc_cgnx_PaymentsForDivestitureofBusinesses_7312BD389E7F20FD5B0103C816924D47" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:to="loc_cgnx_PaymentsForDivestitureofBusinesses_7312BD389E7F20FD5B0103C816924D47" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_7833A75819597451A71B03C8169262CB" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_BD06DEF7C5B8302A70C903C81692B5ED" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_7833A75819597451A71B03C8169262CB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_7140708CE47F3719ACF203C8169290FA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_7140708CE47F3719ACF203C8169290FA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_5A595040216B42564EDD03C8169375D4" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_5A595040216B42564EDD03C8169375D4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_54C3785DBB777E1F329603C81693A13A" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847" xlink:to="loc_us-gaap_PaymentsOfDividendsCommonStock_54C3785DBB777E1F329603C81693A13A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_267BAE3A5730CC8DB5BE03C816932CE0" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_EC527BB48F1A7392007B03C816924847" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_267BAE3A5730CC8DB5BE03C816932CE0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_D3B975FF118F15BB16AB03C816937AC9" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_D3B975FF118F15BB16AB03C816937AC9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_2D89C9B6F75C0310CD1B03C816930EE9" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7" xlink:to="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_2D89C9B6F75C0310CD1B03C816930EE9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_1F8463A8D95513CF3EFD03C816939741" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_1F8463A8D95513CF3EFD03C816939741" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_5A8485A59E211BBB786503C8169364E9" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_D9FFB7A08BB163B8AEC603C81691FBD7" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_5A8485A59E211BBB786503C8169364E9" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_D609F6FBC58A7EC5A4A9F96DDB6C7904" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_DD19E4E070B3EB9C52A3F96DDB6D9698" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_D609F6FBC58A7EC5A4A9F96DDB6C7904" xlink:to="loc_us-gaap_NetIncomeLoss_DD19E4E070B3EB9C52A3F96DDB6D9698" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_D609F6FBC58A7EC5A4A9F96DDB6C7904" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_CashflowshedgesAbstract" xlink:label="loc_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8" xlink:to="loc_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_28A8E7D06D8FE764C862F96DDB6D33CF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_28A8E7D06D8FE764C862F96DDB6D33CF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_A49728BDE715E8A884BEF96DDB6D943C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_A49728BDE715E8A884BEF96DDB6D943C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_825B793DD08BC72AAF60F96DDB6D8EAA" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CashflowshedgesAbstract_D9DC3F80A1BA175A8F44F96DDB6D188C" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_825B793DD08BC72AAF60F96DDB6D8EAA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_73DAA5FF6F1D7EA6E6FCF96DDB6DA4A9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_73DAA5FF6F1D7EA6E6FCF96DDB6DA4A9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_8DA4C7E69E840A63968EF96DDB6DE1F9" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_73DAA5FF6F1D7EA6E6FCF96DDB6DA4A9" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_8DA4C7E69E840A63968EF96DDB6DE1F9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_78C33240CCBC2EBC1B50F96DDB6DB90C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_73DAA5FF6F1D7EA6E6FCF96DDB6DA4A9" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_78C33240CCBC2EBC1B50F96DDB6DB90C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_ADBA1D5015E6474FC283F96DDB6DF987" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_73DAA5FF6F1D7EA6E6FCF96DDB6DA4A9" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_ADBA1D5015E6474FC283F96DDB6DF987" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_CurrencytranslationadjustmentsAbstract" xlink:label="loc_cgnx_CurrencytranslationadjustmentsAbstract_77975DAE44482F16CC37F96DDB6D0386" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8" xlink:to="loc_cgnx_CurrencytranslationadjustmentsAbstract_77975DAE44482F16CC37F96DDB6D0386" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3BC32B7334CB0089312CF96DDB6E58B3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CurrencytranslationadjustmentsAbstract_77975DAE44482F16CC37F96DDB6D0386" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3BC32B7334CB0089312CF96DDB6E58B3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_080A973424F8BBEF8D67F96DDB6E1BB7" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_776F1B4F4FAF288F0A2DF96DDB6D93C8" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_080A973424F8BBEF8D67F96DDB6E1BB7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_41E493529D4D1DCC9784F96DDB6EFF73" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_D609F6FBC58A7EC5A4A9F96DDB6C7904" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_41E493529D4D1DCC9784F96DDB6EFF73" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_82ABFB0B8EAC488C6457F96C1297A152" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_EF7C20BE0823E8DC0C76F96C12976BE0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_82ABFB0B8EAC488C6457F96C1297A152" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_EF7C20BE0823E8DC0C76F96C12976BE0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C7F62AF63199973B7654F96C1297F0CF" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_82ABFB0B8EAC488C6457F96C1297A152" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C7F62AF63199973B7654F96C1297F0CF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_D8D45D89CEA583C756D3F96C1297B9BD" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_82ABFB0B8EAC488C6457F96C1297A152" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_D8D45D89CEA583C756D3F96C1297B9BD" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueNet" xlink:label="loc_us-gaap_SalesRevenueNet_D2F0B85491C4977E934703C816A6EFB1" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_SalesRevenueNet_D2F0B85491C4977E934703C816A6EFB1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_941553FF033A713FF4F503C816A6E508" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_941553FF033A713FF4F503C816A6E508" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_DE6894008FF94627772D03C816A693C7" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_GrossProfit_DE6894008FF94627772D03C816A693C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_13596B2FA25896C512A203C816A69FE2" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_13596B2FA25896C512A203C816A69FE2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_5E9F0D191992074ACA4F03C816A60FC1" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_5E9F0D191992074ACA4F03C816A60FC1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_BF764C12F3E3F8592F8F03C816A6DDFC" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_OperatingIncomeLoss_BF764C12F3E3F8592F8F03C816A6DDFC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_143BBD6B330695EAB3AF03C816A6584B" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_143BBD6B330695EAB3AF03C816A6584B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_8C175CD8994BF5EA21AE03C816A6187D" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_InvestmentIncomeNonoperating_8C175CD8994BF5EA21AE03C816A6187D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_580B58A959FF14B3DFFC03C816A6FB8C" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_580B58A959FF14B3DFFC03C816A6FB8C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C81D0B66BC3CD6935C3503C816A65A25" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C81D0B66BC3CD6935C3503C816A65A25" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_079A1B6C68313923604103C816A7451C" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_079A1B6C68313923604103C816A7451C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_2967860CA61A1B415C2703C92697579C" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperations_2967860CA61A1B415C2703C92697579C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_F84DD09695853CCB2E5E03C816A7084B" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_F84DD09695853CCB2E5E03C816A7084B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_5C8E15F523F98D648B3003C816A786F3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_F84DD09695853CCB2E5E03C816A7084B" xlink:to="loc_us-gaap_EarningsPerShareBasic_5C8E15F523F98D648B3003C816A786F3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_4A2043B9C6A4A15AF78503C816A7CFE9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_F84DD09695853CCB2E5E03C816A7084B" xlink:to="loc_us-gaap_EarningsPerShareDiluted_4A2043B9C6A4A15AF78503C816A7CFE9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_58F29F8AD7F3785F76BC03C816A72F17" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_58F29F8AD7F3785F76BC03C816A72F17" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5E4AD48B19B85358D3AE03C816A7B6A6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_58F29F8AD7F3785F76BC03C816A72F17" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5E4AD48B19B85358D3AE03C816A7B6A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_022A9DC87CFBE012E59603C816A7FB48" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_58F29F8AD7F3785F76BC03C816A72F17" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_022A9DC87CFBE012E59603C816A7FB48" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockDividendsPerShareCashPaid" xlink:label="loc_us-gaap_CommonStockDividendsPerShareCashPaid_832E58258CD2A6F2DCAE03C816A791E0" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BB0E0DFB7F54FDC6A96C03C816A6EBE1" xlink:to="loc_us-gaap_CommonStockDividendsPerShareCashPaid_832E58258CD2A6F2DCAE03C816A791E0" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstruments" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_629EC6E01AD2832819E8F96C129DDFB5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_0819FE9C6A7F88A56766F96C129D687A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_629EC6E01AD2832819E8F96C129DDFB5" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_0819FE9C6A7F88A56766F96C129D687A" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_E5C1A64D1AB027CA7748F96C11FF8CA2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_E5C1A64D1AB027CA7748F96C11FF8CA2" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:to="loc_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_F456ACA61C6B335C3666F96C11FF3F45" xlink:to="loc_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_BF608D9FAAF030620C48F96C1200CE7C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_BF608D9FAAF030620C48F96C1200CE7C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_6E7E196FCCA82FCBD0C3F96C12001C24" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_A8B2A9EED1BD90651EEEF96C11FFC197" xlink:to="loc_us-gaap_NondesignatedMember_6E7E196FCCA82FCBD0C3F96C12001C24" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_304EBA8B0D8B66ECCFADF96C12000C7A" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="loc_us-gaap_CashFlowHedgingMember_8536C80CBB13248A0EF3F96C12001A8C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:to="loc_us-gaap_CashFlowHedgingMember_8536C80CBB13248A0EF3F96C12001A8C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueGoodsNetMember" xlink:label="loc_us-gaap_SalesRevenueGoodsNetMember_8C52A06226920829AF22F96C12003F1B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:to="loc_us-gaap_SalesRevenueGoodsNetMember_8C52A06226920829AF22F96C12003F1B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_2AF09A9BB6A9DD8201E4F96C12007410" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_2AF09A9BB6A9DD8201E4F96C12007410" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_B11CD94ADAD52FF98CEEF96C12009D0D" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpenseMember_B11CD94ADAD52FF98CEEF96C12009D0D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyGainLossMember" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_B9DFD725B34352F27E7FF96C1200940E" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_454B25C7F0E4D355D6D9F96C120022D8" xlink:to="loc_us-gaap_ForeignCurrencyGainLossMember_B9DFD725B34352F27E7FF96C1200940E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_FBD0EF1C7E7456980416F96C11FF02BD" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_FB2F478114FA87FF8398F96C1200636A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_FB2F478114FA87FF8398F96C1200636A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_6ED0BD208D64267790AFF96C120046A2" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_6ED0BD208D64267790AFF96C120046A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_F7BA4E1C697539E57C57F96C1200BE85" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_F7BA4E1C697539E57C57F96C1200BE85" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_DC77654C1FC24F7C3B20F96C1200DFA6" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_DC77654C1FC24F7C3B20F96C1200DFA6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_2CF9BCDBEF50B424F710F96C12007726" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_11B130DB8CC2C29D8612F96C12006368" xlink:to="loc_us-gaap_DerivativeGainLossOnDerivativeNet_2CF9BCDBEF50B424F710F96C12007726" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_E8ABB458683A78430AB403C815E3BD9E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_E8ABB458683A78430AB403C815E3BD9E" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_C062CC429BB8C366B50B03C815E3C73E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C" xlink:to="loc_us-gaap_HedgingDesignationAxis_C062CC429BB8C366B50B03C815E3C73E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_73C556B21D891592090503C815E31587" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_C062CC429BB8C366B50B03C815E3C73E" xlink:to="loc_us-gaap_HedgingDesignationDomain_73C556B21D891592090503C815E31587" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_5C41301B8246523848F003C815E4A435" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_73C556B21D891592090503C815E31587" xlink:to="loc_us-gaap_NondesignatedMember_5C41301B8246523848F003C815E4A435" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_18C4C651D783048B75F903C815E4CAC4" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_73C556B21D891592090503C815E31587" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_18C4C651D783048B75F903C815E4CAC4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_AA9CA9972068081F637303C815E3D45C" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:label="loc_us-gaap_DerivativeNumberOfInstrumentsHeld_2970DBB912431A6BFEAD03C815E41EC2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:to="loc_us-gaap_DerivativeNumberOfInstrumentsHeld_2970DBB912431A6BFEAD03C815E41EC2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E55FFC5D230792FFE44603C815E445B5" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:to="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E55FFC5D230792FFE44603C815E445B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1" xlink:label="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_89309B1A03D81A0B6C9E03C815E4CC55" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_D7C6CE2766BB34BF2AA403C815E45C06" xlink:to="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_89309B1A03D81A0B6C9E03C815E4CC55" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_923BE8480C5D7BE4D4F4F96C127AFC82" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_4D204FC34C10A75A3D55F96C127BD070" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_923BE8480C5D7BE4D4F4F96C127AFC82" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_4D204FC34C10A75A3D55F96C127BD070" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_84FEA28F03A692D42C91F96C127BC39D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_923BE8480C5D7BE4D4F4F96C127AFC82" xlink:to="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_84FEA28F03A692D42C91F96C127BC39D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_4E98A4F1EB56C739AFBCF96C127B3127" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_923BE8480C5D7BE4D4F4F96C127AFC82" xlink:to="loc_us-gaap_DerivativeAssets_4E98A4F1EB56C739AFBCF96C127B3127" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_9E587B777735F8387AE4F96C127B0B0C" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_923BE8480C5D7BE4D4F4F96C127AFC82" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_9E587B777735F8387AE4F96C127B0B0C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_6FE98F25C48A943ADEAEF96C127B9DB1" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_923BE8480C5D7BE4D4F4F96C127AFC82" xlink:to="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_6FE98F25C48A943ADEAEF96C127B9DB1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_3424183E9519F6BCDB4EF96C127B8196" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_923BE8480C5D7BE4D4F4F96C127AFC82" xlink:to="loc_us-gaap_DerivativeLiabilities_3424183E9519F6BCDB4EF96C127B8196" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_8635CBDF9D8E4580949903C815D6D6DF" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_8635CBDF9D8E4580949903C815D6D6DF" xlink:to="loc_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_857B8A040935D29E1A0303C815D6AA72" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:to="loc_us-gaap_HedgingDesignationAxis_857B8A040935D29E1A0303C815D6AA72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_97219AF60C81DF77AA8003C815D68366" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_857B8A040935D29E1A0303C815D6AA72" xlink:to="loc_us-gaap_HedgingDesignationDomain_97219AF60C81DF77AA8003C815D68366" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_8E438FFE3BE4C91F93CE03C815D6FCCC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_97219AF60C81DF77AA8003C815D68366" xlink:to="loc_us-gaap_NondesignatedMember_8E438FFE3BE4C91F93CE03C815D6FCCC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CurrencyAxis" xlink:label="loc_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:to="loc_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_AllCurrenciesDomain" xlink:label="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrencyAxis_F27DCBA03A383926432803C815D66700" xlink:to="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_JPY" xlink:label="loc_currency_JPY_17741671DC7A1F3927BD03C815D7552F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="loc_currency_JPY_17741671DC7A1F3927BD03C815D7552F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_CHF" xlink:label="loc_currency_CHF_AD1F154A1B0B1B1E43C70417849FD033" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="loc_currency_CHF_AD1F154A1B0B1B1E43C70417849FD033" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_GBP" xlink:label="loc_currency_GBP_CD0980D798E3F8D566FE03C815D72904" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="loc_currency_GBP_CD0980D798E3F8D566FE03C815D72904" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_HUF" xlink:label="loc_currency_HUF_D68898EC3746B6DA5E7403C815D78B5A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="loc_currency_HUF_D68898EC3746B6DA5E7403C815D78B5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_TWD" xlink:label="loc_currency_TWD_3B3EAF0C2989E50D492B03C815D7C3EA" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="loc_currency_TWD_3B3EAF0C2989E50D492B03C815D7C3EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_KRW" xlink:label="loc_currency_KRW_540E111D71AD7A4A0F6B03C815D78EF4" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_550E170079CE8277EEA403C815D666FF" xlink:to="loc_currency_KRW_540E111D71AD7A4A0F6B03C815D78EF4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_9EDE16D88FBB976FD1D603C815D6CA39" xlink:to="loc_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssetNotionalAmount" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_A8784E3020C0F8AB036403C815D76B94" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeLineItems_3AD56D6730A67D6D092303C815D74308" xlink:to="loc_us-gaap_DerivativeAssetNotionalAmount_A8784E3020C0F8AB036403C815D76B94" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_FE812CD6EEB166F3226DF96C1213A2A4" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_FE812CD6EEB166F3226DF96C1213A2A4" xlink:to="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_D263357AEC1390AE1054F96C1213FC44" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:to="loc_us-gaap_HedgingDesignationAxis_D263357AEC1390AE1054F96C1213FC44" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_9FBA0FE0A6A128B21F5FF96C12134690" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_D263357AEC1390AE1054F96C1213FC44" xlink:to="loc_us-gaap_HedgingDesignationDomain_9FBA0FE0A6A128B21F5FF96C12134690" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_ACC9D29A4581D630AFF3F96C12137380" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_9FBA0FE0A6A128B21F5FF96C12134690" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_ACC9D29A4581D630AFF3F96C12137380" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_9A5779300DBD8ADC3741F96C12132CBD" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_9FBA0FE0A6A128B21F5FF96C12134690" xlink:to="loc_us-gaap_NondesignatedMember_9A5779300DBD8ADC3741F96C12132CBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_4AAD774405E4AF4C6606F96C12137B29" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9FCEBB268BB8050A06D8F96C121303DD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_9FCEBB268BB8050A06D8F96C121303DD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AccruedExpensesMember" xlink:label="loc_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_4905AAC4014B0000D751F96C1213C244" xlink:to="loc_cgnx_AccruedExpensesMember_B06FC1995FAA0079E78AF96C12130BCB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_3CC6CAC9370168E390B8F96C1213955B" xlink:to="loc_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_12983BAA886CABE2FB2FF96C1213484F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:to="loc_us-gaap_DerivativeAssets_12983BAA886CABE2FB2FF96C1213484F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_DAD7F3C5C5BFCCB359F7F96C121418EA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_C18F2B26A771448E6ED0F96C1213CB67" xlink:to="loc_us-gaap_DerivativeLiabilities_DAD7F3C5C5BFCCB359F7F96C121418EA" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A6B71B18DA07903D19ED03C815ECAE84" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_OutstandingForwardContractsTableTextBlock" xlink:label="loc_cgnx_OutstandingForwardContractsTableTextBlock_288ED545908262F2CEB503C815ECA9C7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A6B71B18DA07903D19ED03C815ECAE84" xlink:to="loc_cgnx_OutstandingForwardContractsTableTextBlock_288ED545908262F2CEB503C815ECA9C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C34F4EAAEF15A948F60603C815ECA418" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A6B71B18DA07903D19ED03C815ECAE84" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C34F4EAAEF15A948F60603C815ECA418" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OffsettingAssetsTableTextBlock" xlink:label="loc_us-gaap_OffsettingAssetsTableTextBlock_9BEA4FDFFB94F37429C203C815ECA760" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A6B71B18DA07903D19ED03C815ECAE84" xlink:to="loc_us-gaap_OffsettingAssetsTableTextBlock_9BEA4FDFFB94F37429C203C815ECA760" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_C52B7A4896653CFF7CC303C815EC8345" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A6B71B18DA07903D19ED03C815ECAE84" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_C52B7A4896653CFF7CC303C815EC8345" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DocumentAndEntityInformation" xlink:type="extended">
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_DocumentAndEntityInformationAbstract" xlink:label="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName_53D971F8D46C93F56409F96C11E3720B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:to="loc_dei_EntityRegistrantName_53D971F8D46C93F56409F96C11E3720B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey_53C50C6C4C070C62B463F96C11E33C97" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:to="loc_dei_EntityCentralIndexKey_53C50C6C4C070C62B463F96C11E33C97" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate_A06AF33425F9356485ABF96C11E38F1E" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:to="loc_dei_CurrentFiscalYearEndDate_A06AF33425F9356485ABF96C11E38F1E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory_77715428E8A83D8A4661F96C11E30E22" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:to="loc_dei_EntityFilerCategory_77715428E8A83D8A4661F96C11E30E22" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType_176A4AABDAD48C27B280F96C11E3EC70" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:to="loc_dei_DocumentType_176A4AABDAD48C27B280F96C11E3EC70" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate_CE5BBA4297F94E97964EF96C11E34641" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:to="loc_dei_DocumentPeriodEndDate_CE5BBA4297F94E97964EF96C11E34641" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus_772F222AB2E05F2C48A6F96C11E37E5D" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:to="loc_dei_DocumentFiscalYearFocus_772F222AB2E05F2C48A6F96C11E37E5D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus_01C4409EC4999B2DCAAFF96C11E3944D" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:to="loc_dei_DocumentFiscalPeriodFocus_01C4409EC4999B2DCAAFF96C11E3944D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag_F4B6D8029AAB8A73EB36F96C11E3CBDD" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:to="loc_dei_AmendmentFlag_F4B6D8029AAB8A73EB36F96C11E3CBDD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_34C73EB59C12F5AC8411F96C11E31AD5" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_DocumentAndEntityInformationAbstract_AF011A35C30750886391F96C11E3F9EB" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_34C73EB59C12F5AC8411F96C11E31AD5" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/FairValueMeasurements" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_BEF7CC2385CD07CADC32F96C1287B3E5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_0ACDBCE8289ED0F71B11F96C12889C7D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_BEF7CC2385CD07CADC32F96C1287B3E5" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_0ACDBCE8289ED0F71B11F96C12889C7D" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_C79733B16BDC1DC517B603C8167A9F40" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_C79733B16BDC1DC517B603C8167A9F40" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_1A36952038422C5F619703C8167B0129" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_1A36952038422C5F619703C8167B0129" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_009545D098D2529644DC03C8167B9B6E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_1A36952038422C5F619703C8167B0129" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_009545D098D2529644DC03C8167B9B6E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_4E8992CB62EA4B9FC70303C8167BDE73" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_009545D098D2529644DC03C8167B9B6E" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_4E8992CB62EA4B9FC70303C8167BDE73" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_830C751659798A9D845D03C8167AF65A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_830C751659798A9D845D03C8167AF65A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2CBD49DBCA0EA465647503C8167A0288" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_830C751659798A9D845D03C8167AF65A" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2CBD49DBCA0EA465647503C8167A0288" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_3A0A8568A357645BD5AB03C8167AB615" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2CBD49DBCA0EA465647503C8167A0288" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_3A0A8568A357645BD5AB03C8167AB615" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_207584C7952856339BD703C8167BD9BA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2CBD49DBCA0EA465647503C8167A0288" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_207584C7952856339BD703C8167BD9BA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_CADE8151DD2352994F0F03C8167B8826" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2CBD49DBCA0EA465647503C8167A0288" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_CADE8151DD2352994F0F03C8167B8826" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_EA07D457A18DEEE0972B03C8167B2A83" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_EA07D457A18DEEE0972B03C8167B2A83" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_EA07D457A18DEEE0972B03C8167B2A83" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_A07F573B51405AD0652503C8167BA346" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_A07F573B51405AD0652503C8167BA346" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_A831C5C3D20FB231036203C8167B4BE4" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_A831C5C3D20FB231036203C8167B4BE4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_5476AA43C16AC763A2E103C8167B3B70" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_5476AA43C16AC763A2E103C8167B3B70" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_F9C383C37AEC60C04B9703C8167B34FB" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_F9C383C37AEC60C04B9703C8167B34FB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_29F79A738D2862AC096D03C8167B2042" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:to="loc_us-gaap_MunicipalBondsMember_29F79A738D2862AC096D03C8167B2042" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_98860FBDD9805B5D493003C8167BF4AB" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_F7E727BC07DF5C567E8403C8167BDABD" xlink:to="loc_cgnx_AgencyBondsMember_98860FBDD9805B5D493003C8167BF4AB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_F61F3E9984C2B9CC55B203C8167AEF66" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:to="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_D42F8A543B1F00F3A2AE03C8167BEB0D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_D42F8A543B1F00F3A2AE03C8167BEB0D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ADFAB1B8CECF35369CF203C8167C3EBD" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ADFAB1B8CECF35369CF203C8167C3EBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue" xlink:label="loc_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_8C2888ADAEF97D99500603C8167C3536" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:to="loc_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_8C2888ADAEF97D99500603C8167C3536" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_F303F35880C26A5BD75903C8167C38A2" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_AEE146FF158CBEE3C6E103C8167BA701" xlink:to="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_F303F35880C26A5BD75903C8167C38A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_AD72B67A15F1D8D3BF1003C8167B3737" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue" xlink:label="loc_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue_C225E1C172D5563CF8EB03C8167CD0E8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:to="loc_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue_C225E1C172D5563CF8EB03C8167CD0E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_B845DD6383D932AF763303C8167CBF2C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_B845DD6383D932AF763303C8167CBF2C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_9813CCD96818DDCE28B203C8167C7F90" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3720ECB121BD16C6B14803C8167CF8C9" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_9813CCD96818DDCE28B203C8167C7F90" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_5873ED6530C6782FD5DF03C81647C409" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_5873ED6530C6782FD5DF03C81647C409" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_99FB79BE41E02F32148803C8164818CF" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_3D42CF2250509DA5086403C81648E9CD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_84B46FE139F3B980D80003C816489049" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_3D42CF2250509DA5086403C81648E9CD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_455F5BD777A18FD36DA503C81648D212" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_FDDBC2BC5F56E1EF003003C81648FAC5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_2C686C5D977DBAB73BC003C81648B978" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_FDDBC2BC5F56E1EF003003C81648FAC5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContingentConsiderationByTypeAxis" xlink:label="loc_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:to="loc_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContingentConsiderationTypeDomain" xlink:label="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContingentConsiderationByTypeAxis_C7BD8649A41D1955B5A603E31EC6C7E8" xlink:to="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ManateeContingentConsiderationMember" xlink:label="loc_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:to="loc_cgnx_ManateeContingentConsiderationMember_98863BF574252B72C3AF03E3AF819FEF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ChiaroContingentConsiderationMember" xlink:label="loc_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:to="loc_cgnx_ChiaroContingentConsiderationMember_0093A7C02D360803C02303E43AA73896" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_GVIContingentConsiderationMember" xlink:label="loc_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContingentConsiderationTypeDomain_7B85798D2570DDB19B0003E31ECCF2B4" xlink:to="loc_cgnx_GVIContingentConsiderationMember_BC5F74814E96027AED8E03E4A1F75829" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_19C4E139ED3568542D9F03C81648B5FA" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_772DE4B14CD5A531AD2703C81648D811" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_772DE4B14CD5A531AD2703C81648D811" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesFairValueAdjustment" xlink:label="loc_us-gaap_LiabilitiesFairValueAdjustment_B62FF19F0DBD8B1A039703C81648C6A9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:to="loc_us-gaap_LiabilitiesFairValueAdjustment_B62FF19F0DBD8B1A039703C81648C6A9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_F81D6D3F44AF1F2CBC2403C816483175" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A5024A946FC1DF4B78DE03C816485E73" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_F81D6D3F44AF1F2CBC2403C816483175" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_7870AAA06F841864749BF96C12416650" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_44A6508435DE3A574310F96C1241E968" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_7870AAA06F841864749BF96C12416650" xlink:to="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_44A6508435DE3A574310F96C1241E968" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_77357C8D00BC8104A8EBF96C1241FE2C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_7870AAA06F841864749BF96C12416650" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_77357C8D00BC8104A8EBF96C1241FE2C" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/IntangibleAssets" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_971FEF82F7B01D66F26A03FC2A04593F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_79577D109048E089177903FCCA6BC797" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_971FEF82F7B01D66F26A03FC2A04593F" xlink:to="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_79577D109048E089177903FCCA6BC797" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_6BB9D7A5A0962842490303FC2B58E377" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_6BB9D7A5A0962842490303FC2B58E377" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_FE4C1DDE4677488CB2A004002A40C0EE" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_AD50F761D10B93C98FB70406986F8B0E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:to="loc_us-gaap_DistributionRightsMember_AD50F761D10B93C98FB70406986F8B0E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_70F0D3AFAEAC371DEE160407397626B4" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:to="loc_us-gaap_ComputerSoftwareIntangibleAssetMember_70F0D3AFAEAC371DEE160407397626B4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_9832B6BA1BABBCFD80740407A4B3D1B8" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:to="loc_us-gaap_CustomerRelationshipsMember_9832B6BA1BABBCFD80740407A4B3D1B8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_12D03FC2D9650986F54404081985AAC5" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_381C9185CF7018DED36804002A41E754" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_12D03FC2D9650986F54404081985AAC5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_0E9B8F44C0FAB01C08D004002A400C1B" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_6F8308BBEDA48DC6C442040445A03722" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_6F8308BBEDA48DC6C442040445A03722" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5772E7CB09DA3D65A57E0404C7D17FCC" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5772E7CB09DA3D65A57E0404C7D17FCC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_188BB48D5A5A6F4E106204050E75A3A1" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_188BB48D5A5A6F4E106204050E75A3A1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_E9573908D931079979AF04002A44396F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_C82A3905677D9FAC7D80040AA2561AD9" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_C82A3905677D9FAC7D80040AA2561AD9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A3970D4D1EDC3E836C74040B256D0847" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A3970D4D1EDC3E836C74040B256D0847" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_5AFC1BFDD3437804AF6D040B8340BD0D" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_5AFC1BFDD3437804AF6D040B8340BD0D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_AEBC9F7DF43632C863D6040BD25AA070" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_AEBC9F7DF43632C863D6040BD25AA070" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_57290D75F13626F3C12D040C42FC55BD" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_57290D75F13626F3C12D040C42FC55BD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix" xlink:label="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix_142863B5A3A09281136F040D26870FC9" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix" xlink:label="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix_8DDD84B322A696D7C6AB040DE54BF0BF" xlink:type="arc" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_98ADC6EB892FABD5F150040A35A6A672" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_188BB48D5A5A6F4E106204050E75A3A1" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_C757745D230724B9600A03FC2ABB3E08" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_FD5B027ABD14AADF897504059900E4C6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_C757745D230724B9600A03FC2ABB3E08" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_FD5B027ABD14AADF897504059900E4C6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_AC59AE21E7D8228F031B03FF492156F8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_C757745D230724B9600A03FC2ABB3E08" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_AC59AE21E7D8228F031B03FF492156F8" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/Inventories" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_B8697D287906B0B4099BF96C1218BC3C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_84AA26C2D5AE9A4314D8F96C121887EA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_B8697D287906B0B4099BF96C1218BC3C" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_84AA26C2D5AE9A4314D8F96C121887EA" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_BF2135EA8C3470C0D3B7F96C122B3B07" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_C4E9B47C3CD07C59F6B8F96C122B87B4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_BF2135EA8C3470C0D3B7F96C122B3B07" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_C4E9B47C3CD07C59F6B8F96C122B87B4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_6C5257658A205188C73AF96C122B26F0" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_BF2135EA8C3470C0D3B7F96C122B3B07" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_6C5257658A205188C73AF96C122B26F0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_84178EF97689308598FFF96C122C1B43" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_BF2135EA8C3470C0D3B7F96C122B3B07" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_84178EF97689308598FFF96C122C1B43" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_42EAC24B594D87DC8BD0F96C122CAC2E" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_BF2135EA8C3470C0D3B7F96C122B3B07" xlink:to="loc_us-gaap_InventoryNet_42EAC24B594D87DC8BD0F96C122CAC2E" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/InventoriesTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_914E06A8CB06BDD723F2F96C129FD212" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_9EC697FFB1E8CE98942BF96C129F7775" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_914E06A8CB06BDD723F2F96C129FD212" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_9EC697FFB1E8CE98942BF96C129F7775" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/NewPronouncements" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0C63B9804B9C7702EC3EF96C12C88202" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_E1A6178829780AB33D32F96C12C925C2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0C63B9804B9C7702EC3EF96C12C88202" xlink:to="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_E1A6178829780AB33D32F96C12C925C2" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognition" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_DE26FB6C19F4AE6BE413041AC5472B1E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_1450CCB7195DFECCD7A9041ADB75BDD2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_DE26FB6C19F4AE6BE413041AC5472B1E" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_1450CCB7195DFECCD7A9041ADB75BDD2" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_874FF750B905AD7EF6E116B40C39AFE1" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_874FF750B905AD7EF6E116B40C39AFE1" xlink:to="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="loc_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:to="loc_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="loc_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementScenarioAxis_9A7B27D31A8F3C05F7DD16B40C393C94" xlink:to="loc_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScenarioPreviouslyReportedMember" xlink:label="loc_us-gaap_ScenarioPreviouslyReportedMember_5E451B452045789BFC6D16B40C39ABF5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:to="loc_us-gaap_ScenarioPreviouslyReportedMember_5E451B452045789BFC6D16B40C39ABF5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RestatementAdjustmentMember" xlink:label="loc_us-gaap_RestatementAdjustmentMember_343366F2DB6E3D038EE316B40C391136" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScenarioUnspecifiedDomain_16C01F813F12F499B44C16B40C39E7B2" xlink:to="loc_us-gaap_RestatementAdjustmentMember_343366F2DB6E3D038EE316B40C391136" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementGeographicalAxis" xlink:label="loc_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:to="loc_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementGeographicalAxis_28DA12401326323C20F016B40C390BC7" xlink:to="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_NorthAndSouthAmericaMember" xlink:label="loc_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:to="loc_cgnx_NorthAndSouthAmericaMember_46B2748AA87F13816E7316B40C3A7343" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EuropeMember" xlink:label="loc_us-gaap_EuropeMember_20E75EC9C0534F89958516B40C3A2D4D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:to="loc_us-gaap_EuropeMember_20E75EC9C0534F89958516B40C3A2D4D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CN" xlink:label="loc_country_CN_65A7E0A75FBF9250E45D16B40C3AB8F4" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:to="loc_country_CN_65A7E0A75FBF9250E45D16B40C3AB8F4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_AsiaExcludingChinaMember" xlink:label="loc_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentGeographicalDomain_1847532B914329E94C2116B40C39882D" xlink:to="loc_cgnx_AsiaExcludingChinaMember_CB5EAD6FC08636BD4BC016B40C3ABA52" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductOrServiceAxis" xlink:label="loc_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:to="loc_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductsAndServicesDomain" xlink:label="loc_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductOrServiceAxis_F403913FDE5F17DE3CF016B40C3A44E7" xlink:to="loc_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_StandardProductsandServicesMember" xlink:label="loc_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:to="loc_cgnx_StandardProductsandServicesMember_3F28045FA81B5696831016B40C3A1FA8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ApplicationSpecificCustomerSolutionsMember" xlink:label="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductsAndServicesDomain_69623498F21BADB59E3916B40C3A7B18" xlink:to="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_906A9208EAAF83954A3116B40C3A6523" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_F1D2A9C18BFDEC6B671916B40C3924A2" xlink:to="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueNet" xlink:label="loc_us-gaap_SalesRevenueNet_214C848BE5A1C4E0B34616B40C3A479E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_SalesRevenueNet_214C848BE5A1C4E0B34616B40C3A479E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_19326F42F3EEE2181C4516B40C3B36A7" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_19326F42F3EEE2181C4516B40C3B36A7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_B20228B8B6BC97E748AA16B40C3B356F" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_GrossProfit_B20228B8B6BC97E748AA16B40C3B356F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_500CB2E6368EA5533EB216B40C3BF274" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_OperatingIncomeLoss_500CB2E6368EA5533EB216B40C3BF274" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_8BD0675154E0EE38EDC516B40C3B8F14" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_8BD0675154E0EE38EDC516B40C3B8F14" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_5AF2F30CB4326C2D2A2816B40C3BA9A3" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_5AF2F30CB4326C2D2A2816B40C3BA9A3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_4F98619C1DAF136157EA16B40C3BFFFE" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperations_4F98619C1DAF136157EA16B40C3BFFFE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_B489C44BA3FA440BB69816B40C3B1B60" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_EarningsPerShareBasic_B489C44BA3FA440BB69816B40C3B1B60" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_00392C9AB88FFF4B458B16B40C3B1F82" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_EarningsPerShareDiluted_00392C9AB88FFF4B458B16B40C3B1F82" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1E47169049A6DB50DB5B16B40C3B8912" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1E47169049A6DB50DB5B16B40C3B8912" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_42C086CC7955DCEC150716B40C3B7586" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_42C086CC7955DCEC150716B40C3B7586" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_2DF880D12125B8B8BE6316B40C3B8C0B" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_DeferredRevenueAndCreditsCurrent_2DF880D12125B8B8BE6316B40C3B8C0B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_C1615FE58CA804291B6716B40C3B8C3E" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_C1615FE58CA804291B6716B40C3B8C3E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_C610F65C110247C8635C16B40C3B21F4" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_C610F65C110247C8635C16B40C3B21F4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CapitalizedContractCostNet" xlink:label="loc_us-gaap_CapitalizedContractCostNet_B6E50B0958CDB0C31DFB16B40C3B705E" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_CapitalizedContractCostNet_B6E50B0958CDB0C31DFB16B40C3B705E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ChangeInContractWithCustomerAssetAbstract" xlink:label="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:type="locator" />
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_85C05BD1734FBF50AA9316B40C3AC7DA" xlink:to="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaap_ContractWithCustomerLiability_8B7015251C7BE0D375E916B40C3BC8C7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:to="loc_us-gaap_ContractWithCustomerLiability_8B7015251C7BE0D375E916B40C3BC8C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_A71BA3EF3951A9F8595016B40C3BC7A3" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_A71BA3EF3951A9F8595016B40C3BC7A3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_C153CF093BF1A56CFE8816B40C3C49F4" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized_C153CF093BF1A56CFE8816B40C3C49F4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice" xlink:label="loc_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_7BC0AC8E35254CFFE6CF16B40C3C4E1A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:to="loc_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice_7BC0AC8E35254CFFE6CF16B40C3C4E1A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaap_ContractWithCustomerLiability_5732AB3CEBE03A4099CD16B40C3CC91C" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ChangeInContractWithCustomerAssetAbstract_D77CA073801394C33E4516B40C3BF46A" xlink:to="loc_us-gaap_ContractWithCustomerLiability_5732AB3CEBE03A4099CD16B40C3CC91C" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_D0A4139419E481677B6D041AC565B4B7" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_145E6DFE385540682134041CFE6CA70F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_D0A4139419E481677B6D041AC565B4B7" xlink:to="loc_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_145E6DFE385540682134041CFE6CA70F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_764C86C6B1BE016CEC04041E8F503C91" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_D0A4139419E481677B6D041AC565B4B7" xlink:to="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_764C86C6B1BE016CEC04041E8F503C91" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_9CF6E8F1D1644D856F8E04201A0CBD1B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_D0A4139419E481677B6D041AC565B4B7" xlink:to="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_9CF6E8F1D1644D856F8E04201A0CBD1B" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_1C2893CF5ED0257E966CF96C12010442" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:label="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_D894D8F6EFA30C103C83F96C1201F8D0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_1C2893CF5ED0257E966CF96C12010442" xlink:to="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_D894D8F6EFA30C103C83F96C1201F8D0" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_7B885451D551F82132BF03C8156FED8B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_7B885451D551F82132BF03C8156FED8B" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_D1DDA0ABB4BC5849C1C903C81570FBBD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:to="loc_us-gaap_AwardTypeAxis_D1DDA0ABB4BC5849C1C903C81570FBBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_A3F584EFEEB8B10B15D203C81570EAA9" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_D1DDA0ABB4BC5849C1C903C81570FBBD" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_A3F584EFEEB8B10B15D203C81570EAA9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_171403F1D1BC277421FC03C815708C66" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_A3F584EFEEB8B10B15D203C81570EAA9" xlink:to="loc_us-gaap_EmployeeStockOptionMember_171403F1D1BC277421FC03C815708C66" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:to="loc_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_483D99E7A1C00C431FA403C81570B9EA" xlink:to="loc_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_GeneralStockOptionPlanMember" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_589E3B58A31B4B1E58BD03C815756EEC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_12F17CD2A26DDB836BD303C8157084F3" xlink:to="loc_cgnx_GeneralStockOptionPlanMember_589E3B58A31B4B1E58BD03C815756EEC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_3E0E68845A5F4C01F0EC03C815703957" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_880EF6173DFB9F04DC4903C81576225E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_880EF6173DFB9F04DC4903C81576225E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_455E35D7E45CBFCD970A03C81576991B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_455E35D7E45CBFCD970A03C81576991B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ExpirationPeriodOfStockOptionPlan" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_ExpirationPeriodOfStockOptionPlan_88B2DA7E39B747C21A7103C81576F10C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_Vestingperiodperformancebasedrestrictedstockyears" xlink:label="loc_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_Vestingperiodperformancebasedrestrictedstockyears_2B4CEC0EFC1E6363DE6803C815762130" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_Vestingperiodtimebasedrestrictedstockyears" xlink:label="loc_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_Vestingperiodtimebasedrestrictedstockyears_9F275EC94EE8BD7D23E403C81576DBE4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_B1BA72675F6FB37130EE03C81576F972" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_02FAD082BA3785B7A53203C81576FE79" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_1C35857C0C5A6B00C54B03C81576188B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_C2BE6DAB97D6F09C858803C815766872" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_A0CBBD76DD82353C36EB03C81576C50E" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_A0CBBD76DD82353C36EB03C81576C50E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_191C668EDDDDB2ED3A8303C8157674CB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_7B91457A1D5E1F29BD2A03C815765B8E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_9FADE389F6D518CC3FEC03C81576078B" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_9FADE389F6D518CC3FEC03C81576078B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:label="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_4A5A9B22433D0D3F96F403C81576A9A3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_B6C670D18294972AE7A903C815765EAC" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_B6C670D18294972AE7A903C815765EAC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_461C454F6D2A2DE9F7CD03C815766990" xlink:type="locator" />
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_461C454F6D2A2DE9F7CD03C815766990" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C" xlink:type="locator" />
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_02A712EF24DE8772790B03C81576E380" xlink:to="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_CACA5C073FEF4780169B03C81576476C" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_DA556D396E8DB46D4BC8F96DDABC7D06" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_DA556D396E8DB46D4BC8F96DDABC7D06" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2" xlink:to="loc_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_F0A6714EFF4F3E943CB6F96DDABC7153" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_BE222A3205713DC9B2A2F96DDABCC62E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7B2AF00679EA8B3E248CF96DDABC6C83" xlink:to="loc_us-gaap_RestrictedStockMember_BE222A3205713DC9B2A2F96DDABCC62E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_6832601B7DF25B4802C2F96DDABC91D2" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0267BD9377F569A5BFEFF96DDABD2159" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_0267BD9377F569A5BFEFF96DDABD2159" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_07E3D2BC9A9A5F7F4BB6F96DDABD95FB" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_07E3D2BC9A9A5F7F4BB6F96DDABD95FB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_33AB32A14260BE2255E0F96DDABDFD06" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_33AB32A14260BE2255E0F96DDABDFD06" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_119710F4D8418D389141F96DDABD57A1" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_119710F4D8418D389141F96DDABD57A1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_D8C3396F4BB53110B78CF96DDABD4854" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_835AEE39C54AC7312A3FF96DDABD93C5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_D8C3396F4BB53110B78CF96DDABD4854" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_198EEE25CB53643B3AABF96DDABD867E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_198EEE25CB53643B3AABF96DDABD867E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_BAB8E19631C8125B6E8EF96DDABDDEA9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_BAB8E19631C8125B6E8EF96DDABDDEA9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_4B70A600E4653CDD8E02F96DDABDD43D" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_4B70A600E4653CDD8E02F96DDABDD43D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_7EC7C01D0B2D3B8B5102F96DDABDCB58" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_7EC7C01D0B2D3B8B5102F96DDABDCB58" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC913C1AB07C8B60916F96DDABDA41A" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_617E28C67AD2D02DF0ADF96DDABD0C0C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC913C1AB07C8B60916F96DDABDA41A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_E1BAEFF45846A1B87562F96DDABC7EAA" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_7625F37820B51DA7B1FEF96DDABDDEE0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_9E5CCCD00D79B189758AF96DDABD3223" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_7625F37820B51DA7B1FEF96DDABDDEE0" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_D18C20B4BCDD0B4D930E043CDD0B24FB" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_E0ED43173C1FAEB2F14D03C8151F433A" xlink:type="locator" />
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_D18C20B4BCDD0B4D930E043CDD0B24FB" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_E0ED43173C1FAEB2F14D03C8151F433A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_8ACEBB052C6A626CAD8A03C8151F1E85" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_E0ED43173C1FAEB2F14D03C8151F433A" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_8ACEBB052C6A626CAD8A03C8151F1E85" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_77B3285C3E0048CAD11803C81520682A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_8ACEBB052C6A626CAD8A03C8151F1E85" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_77B3285C3E0048CAD11803C81520682A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsTotalMember" xlink:label="loc_us-gaap_CostOfGoodsTotalMember_27141E164EFC2DCCFE5D03C81520ECE5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_77B3285C3E0048CAD11803C81520682A" xlink:to="loc_us-gaap_CostOfGoodsTotalMember_27141E164EFC2DCCFE5D03C81520ECE5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_E1A01D8686D3C326B3E603C815257B3E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_77B3285C3E0048CAD11803C81520682A" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_E1A01D8686D3C326B3E603C815257B3E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_SellingGeneralAndAdministrativeMember" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_77B3285C3E0048CAD11803C81520682A" xlink:to="loc_cgnx_SellingGeneralAndAdministrativeMember_33E96A6ECBCD5D2DBE1A03C81525E9AD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_E0ED43173C1FAEB2F14D03C8151F433A" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_DBCB8DE17AE2F7C5F1AC03C81525897C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_ED6386FD3B186F2A958803C815257C95" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_DBCB8DE17AE2F7C5F1AC03C81525897C" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_826277F5CBAA9A56306403C81555035A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_826277F5CBAA9A56306403C81555035A" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_52B40A03D9D917E9EA6503C8155518BC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_52B40A03D9D917E9EA6503C8155518BC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_5654F2E0B28F264E251103C81555AD4B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_5654F2E0B28F264E251103C81555AD4B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_A00513C02DA2EF9DC01503C81555F135" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_A00513C02DA2EF9DC01503C81555F135" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_6E252BB1167CFE1DB5F103C81555A990" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_6E252BB1167CFE1DB5F103C81555A990" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_F4CE09087969B87C6CD203C815553D4D" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_D82CCB5D70D3DDD00D5C03C815553C3E" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_F4CE09087969B87C6CD203C815553D4D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_33A8F63079F130E19A4903C81555EC51" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_826277F5CBAA9A56306403C81555035A" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_33A8F63079F130E19A4903C81555EC51" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_9F99A1194F722AF76A8803C815550B2D" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_826277F5CBAA9A56306403C81555035A" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_9F99A1194F722AF76A8803C815550B2D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_826277F5CBAA9A56306403C81555035A" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6206E162B52B689AE3E403C815559F97" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6206E162B52B689AE3E403C815559F97" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_5846217E56D13EB1DF3C03C815551E62" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_5846217E56D13EB1DF3C03C815551E62" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_5E029AAE1736F83C4C3803C81556132B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_5E029AAE1736F83C4C3803C81556132B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_B27D31CFE9D2C469054703C815568401" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_B27D31CFE9D2C469054703C815568401" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_49533973F3CDF41D3B3003C81556355C" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_05285274D401F656B99903C81555CF72" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_49533973F3CDF41D3B3003C81556355C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E92344AFC1CE4E72233103C81556F079" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_826277F5CBAA9A56306403C81555035A" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E92344AFC1CE4E72233103C81556F079" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_77EF92EDAD068DC4437803C81556DAB7" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_826277F5CBAA9A56306403C81555035A" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_77EF92EDAD068DC4437803C81556DAB7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_31BE5818572D77E3902A03C815566D89" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_826277F5CBAA9A56306403C81555035A" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_31BE5818572D77E3902A03C815566D89" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_D4E06A3DBEEF500750C603C81556DA8C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_31BE5818572D77E3902A03C815566D89" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_D4E06A3DBEEF500750C603C81556DA8C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2EE54D9AE1B27127F7C403C8155BDF95" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_31BE5818572D77E3902A03C815566D89" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2EE54D9AE1B27127F7C403C8155BDF95" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_3A86602F9B60EB05ACDA03C8155B24AF" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_31BE5818572D77E3902A03C815566D89" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_3A86602F9B60EB05ACDA03C8155B24AF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_826277F5CBAA9A56306403C81555035A" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AF743539DA2027342FAB03C8155BAC7A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AF743539DA2027342FAB03C8155BAC7A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_BF398100C7806D84448A03C8155B895A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_BF398100C7806D84448A03C8155B895A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_C83440F9BCCDD172FD2C03C8155BC577" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_296E6F934210D42808B003C8155BC9FD" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_C83440F9BCCDD172FD2C03C8155BC577" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C6AE1AA8A2AE9BAA518CF96C129003AE" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_6AF5DE6937487E3FCACEF96C12916677" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C6AE1AA8A2AE9BAA518CF96C129003AE" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_6AF5DE6937487E3FCACEF96C12916677" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_0317602C3099CD5A7C63F96C1292077E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C6AE1AA8A2AE9BAA518CF96C129003AE" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_0317602C3099CD5A7C63F96C1292077E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:label="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_AB3C221BFFEF822DA74FF96C12931444" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C6AE1AA8A2AE9BAA518CF96C129003AE" xlink:to="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_AB3C221BFFEF822DA74FF96C12931444" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_E10D1E8879726E2FC29CF96C12946EE2" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C6AE1AA8A2AE9BAA518CF96C129003AE" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_E10D1E8879726E2FC29CF96C12946EE2" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_51009BEED0CCB47F511FF96C123B24A7" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_D85F22C2A071725DEEE8F96C123BE31B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_51009BEED0CCB47F511FF96C123B24A7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_D85F22C2A071725DEEE8F96C123BE31B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4ACD05F4201E6F977F11F96C123BC3B7" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_51009BEED0CCB47F511FF96C123B24A7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4ACD05F4201E6F977F11F96C123BC3B7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_F7947C4FD3A0E818AAB9F96C123BF12B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_51009BEED0CCB47F511FF96C123B24A7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_F7947C4FD3A0E818AAB9F96C123BF12B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_07C358395441D0AFF7ADF96C123BFB43" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_51009BEED0CCB47F511FF96C123B24A7" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_07C358395441D0AFF7ADF96C123BFB43" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgram" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_18BB9D3B8A501EA7E134F96C12BD8191" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_5551D6634645C4376F7CF96C12BD597B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_18BB9D3B8A501EA7E134F96C12BD8191" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_5551D6634645C4376F7CF96C12BD597B" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_4A50C1ABA23214B1456409050734D860" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_4A50C1ABA23214B1456409050734D860" xlink:to="loc_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_D86CAE2721451C58218709050734849E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_D86CAE2721451C58218709050734849E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_8ED51E1AA6FFCF51535809050734A014" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_D86CAE2721451C58218709050734849E" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_8ED51E1AA6FFCF51535809050734A014" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_RepurchaseProgramApril2017Member" xlink:label="loc_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_8ED51E1AA6FFCF51535809050734A014" xlink:to="loc_cgnx_RepurchaseProgramApril2017Member_78690B7729BB24E46EE40916B5F19B17" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_RepurchaseProgramFebruary2018Member" xlink:label="loc_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_8ED51E1AA6FFCF51535809050734A014" xlink:to="loc_cgnx_RepurchaseProgramFebruary2018Member_5223AF8EC599FA7DD25609179BE115DC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_RepurchaseProgramApril2017andFebruary2018Member" xlink:label="loc_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_8ED51E1AA6FFCF51535809050734A014" xlink:to="loc_cgnx_RepurchaseProgramApril2017andFebruary2018Member_2579EF3CBD2D1EF3FF4C09413AE4BE7C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_0E4D5BEA2C900DAC4787090507347624" xlink:to="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_46828EBFDA6E12038F3609050735EC95" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_46828EBFDA6E12038F3609050735EC95" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased" xlink:label="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_8D7DF4B5BB937B42FAB9090507350F6D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_StockRepurchaseProgramValue" xlink:label="loc_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_cgnx_StockRepurchaseProgramValue_813D6AE7432EF374DCDC09050735106B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_672DED459CB5827AB80C09050735FE00" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_672DED459CB5827AB80C09050735FE00" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_D78BF65CBE60941A67A4090507359A83" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_D78BF65CBE60941A67A4090507359A83" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_882F4FEE2232C554958E090507358261" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_A9958B2BF89DA99F2EE5090507351B32" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_882F4FEE2232C554958E090507358261" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/SubsequentEvents" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_A199BB1EEE92B4A2FB52F96C1303D7AF" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_1D53A9485885D936944DF96C1303E336" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_A199BB1EEE92B4A2FB52F96C1303D7AF" xlink:to="loc_us-gaap_SubsequentEventsTextBlock_1D53A9485885D936944DF96C1303E336" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/SubsequentEventsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_5DF5D64EF5F52ED04DA4090506C3974F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_5DF5D64EF5F52ED04DA4090506C3974F" xlink:to="loc_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_78C884EA432F8C224E8E090506C9360B" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_GeneralStockOptionPlanMember" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_B6E2C8FC4A2FC156A5AA090506C9F754" xlink:to="loc_cgnx_GeneralStockOptionPlanMember_5667681E0CCDDC54212E090506C9693B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_44A2E087B04E53CACE96090506C9B7CE" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_ACFB68EFB5288B1F76E9090506CA7173" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_0C105D9B2191A706B5F7090506CA34C7" xlink:to="loc_us-gaap_SubsequentEventMember_ACFB68EFB5288B1F76E9090506CA7173" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_1FE708CC9673F7B493BE090506C955D0" xlink:to="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_CF1F82E42948C9DBD79B090506CAD477" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_CF1F82E42948C9DBD79B090506CAD477" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="loc_us-gaap_CommonStockDividendsPerShareDeclared_ABA0E9C6961BC9E9B3AE090506CA7878" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:to="loc_us-gaap_CommonStockDividendsPerShareDeclared_ABA0E9C6961BC9E9B3AE090506CA7878" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:label="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_123D315615A3883B2A22090506CA7178" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:to="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_123D315615A3883B2A22090506CA7178" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_CB9E947A85C440E3FDAD090506CA97B5" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_9CD7758291A3426B3396090506CA8880" xlink:to="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_CB9E947A85C440E3FDAD090506CA97B5" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_F8594DE6D834C7305D21F96C121D21F2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_CF6888E4C0ED91B7EE0BF96C121D8E5F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_F8594DE6D834C7305D21F96C121D21F2" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_CF6888E4C0ED91B7EE0BF96C121D8E5F" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_8361DC94C5C215C04AFA03DB9E25A951" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock_5240BDC9BDE6084094D603DB9E29C4DE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_8361DC94C5C215C04AFA03DB9E25A951" xlink:to="loc_us-gaap_RevenueRecognitionPolicyTextBlock_5240BDC9BDE6084094D603DB9E29C4DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_E37BFB99337D9FC85EA203DCC8D8488D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_8361DC94C5C215C04AFA03DB9E25A951" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_E37BFB99337D9FC85EA203DCC8D8488D" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/Taxes" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_20B8FE73213E99E30207F96C121642A2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_8CCED9200DD5A781019EF96C12168F83" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_20B8FE73213E99E30207F96C121642A2" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_8CCED9200DD5A781019EF96C12168F83" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/TaxesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_DACD0664F16A3F19A09A08C2EC7AE716" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncomeTaxTable" xlink:label="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_DACD0664F16A3F19A09A08C2EC7AE716" xlink:to="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_C0FC47AA06B19313F24908DECFFCC2B7" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="loc_us-gaap_ForeignCountryMember_6D3DDD1243500ECDA93708DEE93B4C1A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_084D86ED28B5ECAFE6E308E3BCD1079A" xlink:to="loc_us-gaap_ForeignCountryMember_6D3DDD1243500ECDA93708DEE93B4C1A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_93B7FEA1D12AD87B534608DA24FBFF9F" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueCommissionersIrelandMember" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_D82D07C7320A5CE5298008DA5B273CE2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:to="loc_us-gaap_RevenueCommissionersIrelandMember_D82D07C7320A5CE5298008DA5B273CE2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StateAdministrationOfTaxationChinaMember" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_08759450DD8754AED00E08DA78506B44" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_1C5138B672323692093208DAF32C4D8D" xlink:to="loc_us-gaap_StateAdministrationOfTaxationChinaMember_08759450DD8754AED00E08DA78506B44" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_4BD52B04B7A369C7DD7C08E150C10587" xlink:to="loc_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountingStandardsUpdate201616Member" xlink:label="loc_us-gaap_AccountingStandardsUpdate201616Member_5E2BE5B61EBE5C53D2FE08E171CBB871" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfAdoptionMember_8F8B98DCE9E4E8056BEE08E150CE6C46" xlink:to="loc_us-gaap_AccountingStandardsUpdate201616Member_5E2BE5B61EBE5C53D2FE08E171CBB871" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncomeTaxLineItems" xlink:label="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxTable_EC0FB886DD1C2F9E08DB08D9ED804A96" xlink:to="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5690AF39392A8E84C3A608D0CAC6C650" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5690AF39392A8E84C3A608D0CAC6C650" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_B317FC2D75AC5B75C4F308ED0F9D9B71" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_B317FC2D75AC5B75C4F308ED0F9D9B71" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_7D3D2E1C93D442B7485B08E89C016D49" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_7D3D2E1C93D442B7485B08E89C016D49" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1" xlink:label="loc_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_9CFE34017A353280661E08E03EE48786" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_9CFE34017A353280661E08E03EE48786" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear" xlink:label="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_6006BCF8223F0EC67EA308C2EC7B337F" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_6006BCF8223F0EC67EA308C2EC7B337F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncreaseDecreaseInterestAndPenalties" xlink:label="loc_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_IncreaseDecreaseInterestAndPenalties_9D189B485A90AF56805008C2EC7BBECA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_LiabilityForUncertainTaxPositions" xlink:label="loc_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_LiabilityForUncertainTaxPositions_65F70206E6191F0CFB4308C2EC7BA19B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_E7CE9B548CF95227524508C2EC7B694D" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_E7CE9B548CF95227524508C2EC7B694D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" xlink:label="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_49F1CCA6934ADC2A1E2608C2EC7BEB31" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_3E6FC64381319458DAAA08C2EC7B6AD4" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_3E6FC64381319458DAAA08C2EC7B6AD4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_F69B2B1C1FF210759EEC08C2EC7BE403" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A20DEB6AD0BC4D0344C808C2EC7B5B09" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:label="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEC840D9705278B4FF2F08C2EC7BB6ED" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:label="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_IncomeTaxLineItems_F16C0F46203BC5984C3D08D9ED91F515" xlink:to="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_F49FE5BF70E5B2CD6F4C08C2EC7BE13D" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8585BC001B6E0C1FF7F016B371E067E6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8585BC001B6E0C1FF7F016B371E067E6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AF3B5DCD8B2844DCB46416B371E32335" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AF3B5DCD8B2844DCB46416B371E32335" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A2A85EE549E6AD48108F16B371E32BBB" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A2A85EE549E6AD48108F16B371E32BBB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_A3C6A2F0E8B5FC79578716B371E32A98" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_A3C6A2F0E8B5FC79578716B371E32A98" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180401.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4AEC398A4F6FAC05780716B371E360A1" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4AEC398A4F6FAC05780716B371E360A1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_610ECEACA6F63F91460C16B371E33C6F" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_610ECEACA6F63F91460C16B371E33C6F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_4F12565729FE9ED34CCC16B371E3052A" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_4F12565729FE9ED34CCC16B371E3052A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_6B0EAA758863607B335616B371E3E444" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7B2E4C24FF4EC6509A9316B371DD1B08" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_6B0EAA758863607B335616B371E3E444" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/TaxesTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_00054E0AC966842183E3F96C12B5CEE6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_C9B20273A8A68142A817F96C12B50FE2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_00054E0AC966842183E3F96C12B5CEE6" xlink:to="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_C9B20273A8A68142A817F96C12B50FE2" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WarrantyObligations" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_B9676F8F416D7CD019E0F96C12DFDF89" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock_AFF6D69850BDF826AE67F96C12DF37D8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_B9676F8F416D7CD019E0F96C12DFDF89" xlink:to="loc_us-gaap_ProductWarrantyDisclosureTextBlock_AFF6D69850BDF826AE67F96C12DF37D8" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_1887EF482D6940ACDCF303C8160EFA48" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_1887EF482D6940ACDCF303C8160EFA48" xlink:to="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_DE96F61365F31D94DF9103C8160EC8C8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02" xlink:to="loc_us-gaap_ProductWarrantyAccrual_DE96F61365F31D94DF9103C8160EC8C8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_C7978116DBCB33B17F4E03C8160E596D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02" xlink:to="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_C7978116DBCB33B17F4E03C8160E596D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments_1591DB4459BC7C0FD46203C8160E069E" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02" xlink:to="loc_us-gaap_ProductWarrantyAccrualPayments_1591DB4459BC7C0FD46203C8160E069E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="loc_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_AB6896CA88F750BC0F4F03C8160E7721" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02" xlink:to="loc_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_AB6896CA88F750BC0F4F03C8160E7721" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_BD351953179515A9D77103C8160E2F1D" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2F533A9A324AEA1D177B03C8160EDD02" xlink:to="loc_us-gaap_ProductWarrantyAccrual_BD351953179515A9D77103C8160E2F1D" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WarrantyObligationsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_B1AD775CA38811A06662F96C12B3112C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4EA8972E18BF6C9650A2F96C12B3D437" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_B1AD775CA38811A06662F96C12B3112C" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4EA8972E18BF6C9650A2F96C12B3D437" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WeightedAverageShares" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_BB3AC76FE3235DD2403BF96C12E1EA0F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_3E0B16D538B83A7F84DDF96C12E1DD77" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_BB3AC76FE3235DD2403BF96C12E1EA0F" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_3E0B16D538B83A7F84DDF96C12E1DD77" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_157B0F629880FEE3991DF96C12CD072A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_1549532D2F2DB3C8E4B8F96C12CDD636" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_157B0F629880FEE3991DF96C12CD072A" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_1549532D2F2DB3C8E4B8F96C12CDD636" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_2BD51B4B730F311F5E18F96C12CE1792" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_157B0F629880FEE3991DF96C12CD072A" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_2BD51B4B730F311F5E18F96C12CE1792" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2ED81F17E25DACBD9C41F96C12D079B6" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_157B0F629880FEE3991DF96C12CD072A" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2ED81F17E25DACBD9C41F96C12D079B6" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_CEB6001E5188794E1F14F96C12F5D35A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_B07F80C3363562637400F96C12F51567" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_CEB6001E5188794E1F14F96C12F5D35A" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_B07F80C3363562637400F96C12F51567" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_40730AFE373731733238F96C12389EE5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_035596AF3FA3C59AC078F96C12380F2C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_40730AFE373731733238F96C12389EE5" xlink:to="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_035596AF3FA3C59AC078F96C12380F2C" xlink:type="arc" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6822178560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Apr. 01, 2018 </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_DocumentAndEntityInformationAbstract', window );"><strong>Document And Entity Information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">COGNEX CORP<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000851205<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Apr.  01,  2018<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2018<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="nump">172,948,442<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_DocumentAndEntityInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Document and entity information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_DocumentAndEntityInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>If the value is true, then the document is an amendment to previously-filed/accepted document.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal period of the document report. For a first quarter 2006 quarterly report, which may also provide financial information from prior periods, the first fiscal quarter should be given as the fiscal period focus. Values: FY, Q1, Q2, Q3, Q4, H1, H2, M9, T1, T2, T3, M8, CY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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".</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12b<br> -Subsection 1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: (1) Large Accelerated Filer, (2) Accelerated Filer, (3) Non-accelerated Filer, (4) Smaller Reporting Company (Non-accelerated) or (5) Smaller Reporting 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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12b<br> -Subsection 1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6829245808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesRevenueNet', window );">Revenue</a></td>
<td class="nump">$ 169,567<span></span>
</td>
<td class="nump">$ 139,039<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenue</a></td>
<td class="nump">40,198<span></span>
</td>
<td class="nump">32,532<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross margin</a></td>
<td class="nump">129,369<span></span>
</td>
<td class="nump">106,507<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research, development, and engineering expenses</a></td>
<td class="nump">31,076<span></span>
</td>
<td class="nump">22,770<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general, and administrative expenses</a></td>
<td class="nump">63,697<span></span>
</td>
<td class="nump">46,521<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">34,596<span></span>
</td>
<td class="nump">37,216<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign currency gain (loss)</a></td>
<td class="num">(134)<span></span>
</td>
<td class="num">(263)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNonoperating', window );">Investment income</a></td>
<td class="nump">3,240<span></span>
</td>
<td class="nump">2,012<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expense)</a></td>
<td class="nump">277<span></span>
</td>
<td class="nump">270<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income before income tax expense</a></td>
<td class="nump">37,979<span></span>
</td>
<td class="nump">39,235<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense (benefit)</a></td>
<td class="nump">762<span></span>
</td>
<td class="num">(6,236)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperations', window );">Net income</a></td>
<td class="nump">$ 37,217<span></span>
</td>
<td class="nump">$ 45,471<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract', window );"><strong>Net income per weighted-average common and common-equivalent share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.21<span></span>
</td>
<td class="nump">$ 0.26<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 0.21<span></span>
</td>
<td class="nump">$ 0.25<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted-average common and common-equivalent shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">173,280<span></span>
</td>
<td class="nump">172,646<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">179,641<span></span>
</td>
<td class="nump">178,354<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareCashPaid', window );">Cash dividends per common share</a></td>
<td class="nump">$ 0.045<span></span>
</td>
<td class="nump">$ 0.0375<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareCashPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends paid during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareCashPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=96948231&amp;loc=d3e4984-109258<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=96947427&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAndDilutedAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=96947427&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450222&amp;loc=d3e30840-110895<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=64836518&amp;loc=d3e30700-110894<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=64836518&amp;loc=d3e30690-110894<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=96868048&amp;loc=SL4613673-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a),(b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income from investments (for example, dividends) not considered a component of the entity's core operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesRevenueNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total revenue from sale of goods and services rendered during the reporting period, in the normal course of business, reduced by sales returns and allowances, and sales discounts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesRevenueNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=68048583&amp;loc=d3e3636-108311<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=96947427&amp;loc=d3e1505-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=96947427&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6829011136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Income - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 37,217<span></span>
</td>
<td class="nump">$ 45,471<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CashflowshedgesAbstract', window );"><strong>Cash flow hedges:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss), net of tax of $0 and ($4) in 2018 and 2017, respectively</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(71)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax', window );">Reclassification of net realized (gain) loss into current operations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">44<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax', window );">Net change related to cash flow hedges</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(27)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Available-for-sale investments:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss), net of tax of ($114) and $92 in 2018 and 2017, respectively</a></td>
<td class="num">(1,192)<span></span>
</td>
<td class="nump">511<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Reclassification of net realized (gain) loss into current operations</a></td>
<td class="num">(22)<span></span>
</td>
<td class="num">(65)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent', window );">Net change related to available-for-sale investments</a></td>
<td class="num">(1,214)<span></span>
</td>
<td class="nump">446<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CurrencytranslationadjustmentsAbstract', window );"><strong>Foreign currency translation adjustments:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments</a></td>
<td class="nump">4,056<span></span>
</td>
<td class="nump">2,481<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax</a></td>
<td class="nump">2,842<span></span>
</td>
<td class="nump">2,900<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Total comprehensive income</a></td>
<td class="nump">$ 40,059<span></span>
</td>
<td class="nump">$ 48,371<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CashflowshedgesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash flows hedges [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CashflowshedgesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CurrencytranslationadjustmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Currency translation adjustments [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CurrencytranslationadjustmentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e557-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments, of appreciation (loss) in value of unsold available-for-sale securities, attributable to parent entity. Excludes amounts related to other than temporary impairment (OTTI) loss.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=96868048&amp;loc=SL4569643-111683<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=84161450&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=96868048&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b,c)<br> -URI http://asc.fasb.org/extlink&amp;oid=64808268&amp;loc=d3e32211-110900<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=84161450&amp;loc=SL4573702-111684<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=96868048&amp;loc=SL4569616-111683<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=96868048&amp;loc=SL4569643-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27357-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e689-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e689-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph c<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=d3e41638-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6441202&amp;loc=d3e80720-113993<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax, before reclassification adjustments, of unrealized holding gain (loss) on available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6815442976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Income (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax', window );">Tax effect on cash flow hedges</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (4)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax', window );">Tax effect of unrealized gain (loss) on available-for-sale investments</a></td>
<td class="num">(114)<span></span>
</td>
<td class="nump">92<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax', window );">Tax effect of foreign currency translation adjustment</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit), before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=64808268&amp;loc=d3e32211-110900<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e640-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e640-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) before reclassification adjustments of unrealized holding gain (loss) on available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e640-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e,f)<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6829417072">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 109,572<span></span>
</td>
<td class="nump">$ 106,582<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">337,629<span></span>
</td>
<td class="nump">297,961<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, less reserves of $1,664 and $1,568 in 2018 and 2017, respectively</a></td>
<td class="nump">96,649<span></span>
</td>
<td class="nump">119,388<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Unbilled revenue</a></td>
<td class="nump">4,232<span></span>
</td>
<td class="nump">7,454<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">96,399<span></span>
</td>
<td class="nump">67,923<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">26,068<span></span>
</td>
<td class="nump">30,683<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">670,549<span></span>
</td>
<td class="nump">629,991<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Long-term investments</a></td>
<td class="nump">356,181<span></span>
</td>
<td class="nump">423,441<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant, and equipment, net</a></td>
<td class="nump">85,205<span></span>
</td>
<td class="nump">78,048<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">113,208<span></span>
</td>
<td class="nump">113,208<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">12,420<span></span>
</td>
<td class="nump">13,189<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNetNoncurrent', window );">Deferred income taxes</a></td>
<td class="nump">29,135<span></span>
</td>
<td class="nump">27,385<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">2,217<span></span>
</td>
<td class="nump">2,491<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">1,268,915<span></span>
</td>
<td class="nump">1,287,753<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">29,136<span></span>
</td>
<td class="nump">23,463<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">56,463<span></span>
</td>
<td class="nump">68,249<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Accrued income taxes</a></td>
<td class="nump">11,915<span></span>
</td>
<td class="nump">11,503<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueAndCreditsCurrent', window );">Deferred revenue and customer deposits</a></td>
<td class="nump">15,504<span></span>
</td>
<td class="nump">9,420<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">113,018<span></span>
</td>
<td class="nump">112,635<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes</a></td>
<td class="nump">319<span></span>
</td>
<td class="nump">312<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Reserve for income taxes</a></td>
<td class="nump">6,958<span></span>
</td>
<td class="nump">6,488<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxes', window );">Accrued income taxes</a></td>
<td class="nump">66,741<span></span>
</td>
<td class="nump">66,741<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other non-current liabilities</a></td>
<td class="nump">4,780<span></span>
</td>
<td class="nump">5,904<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">191,816<span></span>
</td>
<td class="nump">192,080<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValueOutstanding', window );">Common stock, $.002 par value &#8211; Authorized: 200,000 shares in 2018 and 2017, respectively, issued and outstanding: 172,948 and 173,507 shares in 2018 and 2017, respectively</a></td>
<td class="nump">346<span></span>
</td>
<td class="nump">347<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">485,654<span></span>
</td>
<td class="nump">461,338<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">622,856<span></span>
</td>
<td class="nump">668,587<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss, net of tax</a></td>
<td class="num">(31,757)<span></span>
</td>
<td class="num">(34,599)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total shareholders&#8217; equity</a></td>
<td class="nump">1,077,099<span></span>
</td>
<td class="nump">1,095,673<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and shareholders' equity</a></td>
<td class="nump">$ 1,268,915<span></span>
</td>
<td class="nump">$ 1,287,753<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount due from customers or clients, within one year of the balance sheet date (or the normal operating cycle, whichever is longer), for goods or services (including trade receivables) that have been delivered or sold in the normal course of business, reduced to the estimated net realizable fair value by an allowance established by the entity of the amount it deems uncertain of collection.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due.  This amount is the total of current and noncurrent accrued income taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e637-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e681-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=SL7669686-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6801-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investments in debt securities classified as available-for-sale, expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=75030427&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=82896770&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3044-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValueOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValueOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueAndCreditsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total carrying amount of consideration received or receivable as of the balance sheet date on potential earnings that were not recognized as revenue or other forms of income in conformity with GAAP, and which are expected to be recognized as such within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(b).Q1(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(b).Q2)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 13.A.Q4)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.4(a).Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(c).Q3)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueAndCreditsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31931-109318<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31928-109318<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31958-109318<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388280&amp;loc=d3e13770-109266<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77989000&amp;loc=SL49117168-202975<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=68049868&amp;loc=d3e3927-108312<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.12)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6822788528">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Reserves for accounts receivable</a></td>
<td class="nump">$ 1,664<span></span>
</td>
<td class="nump">$ 1,568<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.002<span></span>
</td>
<td class="nump">$ 0.002<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">200,000,000<span></span>
</td>
<td class="nump">200,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">172,948,000<span></span>
</td>
<td class="nump">173,507,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">172,948,000<span></span>
</td>
<td class="nump">173,507,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A valuation allowance for trade and other receivables due to an Entity within one year (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=84173941&amp;loc=d3e5074-111524<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84159872&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6829064160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 37,217<span></span>
</td>
<td class="nump">$ 45,471<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">13,194<span></span>
</td>
<td class="nump">7,483<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation of property, plant, and equipment</a></td>
<td class="nump">4,430<span></span>
</td>
<td class="nump">3,083<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">769<span></span>
</td>
<td class="nump">872<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments', window );">Amortization of discounts or premiums on investments</a></td>
<td class="nump">56<span></span>
</td>
<td class="nump">86<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfInvestments', window );">Realized (gain) loss on sale of investments</a></td>
<td class="num">(22)<span></span>
</td>
<td class="num">(65)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Revaluation of contingent consideration</a></td>
<td class="num">(442)<span></span>
</td>
<td class="num">(275)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Change in deferred income taxes</a></td>
<td class="num">(1,469)<span></span>
</td>
<td class="nump">921<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Change in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="nump">24,830<span></span>
</td>
<td class="num">(2,238)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInUnbilledReceivables', window );">Unbilled revenue</a></td>
<td class="nump">3,389<span></span>
</td>
<td class="nump">953<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(27,321)<span></span>
</td>
<td class="num">(5,386)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(866)<span></span>
</td>
<td class="num">(12,461)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">5,309<span></span>
</td>
<td class="nump">7,167<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="num">(9,927)<span></span>
</td>
<td class="num">(3,398)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedTaxesPayable', window );">Accrued income taxes</a></td>
<td class="nump">186<span></span>
</td>
<td class="nump">397<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredRevenue', window );">Deferred revenue and customer deposits</a></td>
<td class="nump">5,877<span></span>
</td>
<td class="nump">5,839<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet', window );">Other</a></td>
<td class="num">(424)<span></span>
</td>
<td class="num">(734)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">54,786<span></span>
</td>
<td class="nump">47,715<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Purchases of investments</a></td>
<td class="num">(118,108)<span></span>
</td>
<td class="num">(193,612)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments', window );">Maturities and sales of investments</a></td>
<td class="nump">144,337<span></span>
</td>
<td class="nump">171,667<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, plant, and equipment</a></td>
<td class="num">(13,270)<span></span>
</td>
<td class="num">(6,095)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash paid for acquisition of business</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(176)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_PaymentsForDivestitureofBusinesses', window );">Cash paid related to discontinued business</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(291)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash provided by (used in) investing activities</a></td>
<td class="nump">12,959<span></span>
</td>
<td class="num">(28,507)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions', window );">Issuance of common stock under stock plans</a></td>
<td class="nump">11,123<span></span>
</td>
<td class="nump">29,139<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="num">(69,202)<span></span>
</td>
<td class="num">(30,067)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfDividendsCommonStock', window );">Payment of dividends</a></td>
<td class="num">(7,787)<span></span>
</td>
<td class="num">(6,497)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="num">(65,866)<span></span>
</td>
<td class="num">(7,425)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents', window );">Effect of foreign exchange rate changes on cash and cash equivalents</a></td>
<td class="nump">1,111<span></span>
</td>
<td class="nump">1,004<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease', window );">Net change in cash and cash equivalents</a></td>
<td class="nump">2,990<span></span>
</td>
<td class="nump">12,787<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents at beginning of period</a></td>
<td class="nump">106,582<span></span>
</td>
<td class="nump">79,641<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents at end of period</a></td>
<td class="nump">$ 109,572<span></span>
</td>
<td class="nump">$ 92,428<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_PaymentsForDivestitureofBusinesses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments For Divestiture of Businesses</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_PaymentsForDivestitureofBusinesses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3044-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period, excluding the portion taken into income, in the liability reflecting revenue yet to be earned for which cash or other forms of consideration was received or recorded as a receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInUnbilledReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period of the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInUnbilledReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 26<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3574-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 26<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3574-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of all investments (debt, security, other) during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from issuance of shares under share-based compensation arrangement. Issuance includes, but is not limited to, exercise of stock options and similar instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3255-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=SL79508275-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The noncash expense that accounts for the value of stock or unit options distributed to employees as compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6829201920">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statement of Shareholders' Equity - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Accumulated Other Comprehensive Loss</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption', window );">Adjustment as a result of the adoption of ASU 2016-16 Income Taxes - Intra-Entity Transfers Other than Inventory (Note 12)</a></td>
<td class="num">$ (5,961)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (5,961)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Beginning Balance, Shares at Dec. 31, 2017</a></td>
<td class="nump">173,507<span></span>
</td>
<td class="nump">173,507<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning Balance at Dec. 31, 2017</a></td>
<td class="nump">$ 1,095,673<span></span>
</td>
<td class="nump">$ 347<span></span>
</td>
<td class="nump">$ 461,338<span></span>
</td>
<td class="nump">668,587<span></span>
</td>
<td class="num">$ (34,599)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Issuance of common stock under stock plans, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">697<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of common stock under stock plans</a></td>
<td class="nump">11,123<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">11,122<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,256)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(69,202)<span></span>
</td>
<td class="num">$ (2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(69,200)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">13,194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsCash', window );">Payment of dividends</a></td>
<td class="num">(7,787)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,787)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">37,217<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37,217<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss) on available-for-sale investments, net of tax of ($114)</a></td>
<td class="num">(1,192)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,192)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</a></td>
<td class="num">(22)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(22)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">$ 4,056<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,056<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Ending Balance, Shares at Apr. 01, 2018</a></td>
<td class="nump">172,948<span></span>
</td>
<td class="nump">172,948<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending Balance at Apr. 01, 2018</a></td>
<td class="nump">$ 1,077,099<span></span>
</td>
<td class="nump">$ 346<span></span>
</td>
<td class="nump">$ 485,654<span></span>
</td>
<td class="nump">$ 622,856<span></span>
</td>
<td class="num">$ (31,757)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) from recognition of equity-based compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=79507207&amp;loc=d3e4534-113899<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=96864182&amp;loc=d3e11149-113907<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=96864182&amp;loc=d3e11178-113907<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) to equity or (increase) decrease to net assets, resulting from the cumulative effect adjustment of a new accounting principle applied in the period of adoption.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid cash dividends declared for classes of stock, for example, but not limited to, common and preferred.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 405<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6957935&amp;loc=d3e64057-112817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b,c)<br> -URI http://asc.fasb.org/extlink&amp;oid=64808268&amp;loc=d3e32211-110900<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27357-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e689-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax, before reclassification adjustments, of unrealized holding gain (loss) on available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share instruments newly issued under a share-based compensation plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84159872&amp;loc=d3e21463-112644<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84159872&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84159872&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6789785120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statement of Shareholders' Equity (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfStockholdersEquityAbstract', window );"><strong>Statement of Stockholders' Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax', window );">Tax effect of unrealized gain (loss) on available-for-sale investments</a></td>
<td class="num">$ (114)<span></span>
</td>
<td class="nump">$ 92<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) before reclassification adjustments of unrealized holding gain (loss) on available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e640-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e,f)<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6820218752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Summary of Significant Accounting Policies</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As permitted by the rules of the Securities and Exchange Commission applicable to Quarterly Reports on Form                      10-Q, these notes are condensed and do not contain all disclosures required by generally accepted accounting principles (GAAP).  As a result of the adoption of ASC 606 "Revenue from Contracts with Customers," Cognex Corporation (the "Company") has provided new disclosures related to revenue recognition in this Quarterly Report on Form 10-Q.  Reference should be made to the consolidated financial statements and related notes included in the Company&#8217;s Annual Report on Form 10-K for the year ended </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font><font style="font-family:Arial;font-size:10pt;"> for a full description of other significant accounting policies.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments and financial statement reclassifications, necessary to present fairly the Company&#8217;s financial position as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, and the results of its operations for the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">, and changes in shareholders&#8217; equity, comprehensive income, and cash flows for the periods presented.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The results disclosed in the Consolidated Statements of Operations for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> are not necessarily indicative of the results to be expected for the full year.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue Recognition</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes revenue in accordance with Accounting Standards Codification (ASC) 606, &#8220;Revenue from Contracts with Customers.&#8221; The core principle of ASC 606 is to recognize revenue in a manner that depicts the transfer of promised goods or services to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services.  The framework in support of this core principle includes: (1) identifying the contract with the customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations; and (5) recognizing revenue when (or as) the performance obligations are satisfied.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Identifying the Contract with the Customer</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company identifies contracts with customers as agreements that create enforceable rights and obligations, which typically take the form of customer contracts or purchase orders.  </font></div><div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Identifying the Performance Obligations in the Contract</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company identifies performance obligations as promises in contracts to transfer distinct goods or services. Standard products and services that the Company regularly sells separately are accounted for as distinct performance obligations.  Application-specific customer solutions that are comprised of a combination of products and services are accounted for as one performance obligation to deliver a total solution to the customer.  These solutions are provided to customers in a variety of industries, including the consumer electronics, logistics, and automotive industries.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Shipping and handling activities for which the Company is responsible under the terms and conditions of the sale are not accounted for as performance obligations but as fulfillment costs.  These activities are required to fulfill the Company&#8217;s promise to transfer the good and are expensed when revenue is recognized.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company does not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract.  If revenue is recognized before immaterial promises have been completed, then the costs related to such immaterial promises are accrued at the time of sale.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Determining the Transaction Price</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company determines the transaction price as the amount of consideration it expects to receive in exchange for transferring promised goods or services to the customer.  Amounts collected from customers for sales taxes are excluded from the transaction price. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">If a contract includes a variable amount, such as a rebate, then the Company estimates the transaction price using either the expected value or the most likely amount of consideration to be received, depending upon the specific facts and circumstances.  The Company includes estimated variable consideration in the transaction price only to the extent it is probable that a significant reversal of revenue will not occur when the uncertainty is resolved.  The Company updates its estimate of variable consideration at the end of each reporting period to reflect changes in facts and circumstances.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Allocating the Transaction Price to the Performance Obligations</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company allocates the transaction price to each performance obligation at contract inception based on a relative stand-alone selling price basis, or the price at which the Company would sell the good or service separately to similar customers in similar circumstances.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Recognizing Revenue When (or As) the Performance Obligations are Satisfied</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes revenue when it transfers the promised goods or services to the customer.  Revenue for standard products is recognized at the point in time when the customer obtains control of the goods, which is typically upon delivery when the customer has legal title, physical possession, the risks and rewards of ownership, and an enforceable obligation to pay for the products.  Revenue for services, which are not material, are typically recognized over the time the services are provided.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue for application-specific customer solutions is recognized at the point in time when the solution is validated, which is the point in time when the Company can objectively determine that the agreed-upon specifications in the contract have been met and the customer will accept the performance obligations in the arrangement.  Although the customer may have taken legal title and physical possession of the goods when they arrived at the customer&#8217;s designed site, the significant risks and rewards of ownership transfer to the customer only upon validation. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In certain instances, an arrangement may include customer-specified acceptance provisions or performance guarantees that allow the customer to accept or reject delivered products that do not meet the customer&#8217;s specifications.  If the Company can objectively determine that control of a good or service has been transferred to the customer in accordance with the agreed-upon specifications in the contract, then customer acceptance is a formality.  If acceptance provisions are presumed to be substantive, then revenue is deferred until customer acceptance.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For the Company&#8217;s standard products and services, revenue recognition and billing typically occur at the same time.  For application-specific customer solutions, however, the agreement with the customer may provide for billing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Credit assessments are performed to determine payment terms, which vary by region, industry, and customer.  Prepayment terms result in contract liabilities for customer deposits.  When credit is granted to customers, payment is typically due 30 to 90 days from billing.  The Company's contracts have an original expected duration of less than one year, and therefore as a practical expedient, the Company has elected to ignore the impact of the time value of money on a contract and to expense sales commissions.  The Company recognizes an asset for costs to fulfill a contract if the costs relate directly to the contract and to future performance, and the costs are expected to be recovered.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management exercises judgment when determining the amount of revenue to be recognized each period.  Such judgments include, but are not limited to, assessing the customer&#8217;s ability and intention to pay substantially all of the contract consideration when due, determining when two or more contracts should be combined and accounted for as a single contract, determining whether a contract modification has occurred, assessing whether promises are immaterial in the context of the contract, determining whether material promises in a contract represent distinct performance obligations, estimating the transaction price for a contract that contains variable consideration, determining the stand-alone selling price of each performance obligation, determining whether control is transferred over time or at a point in time for performance obligations, and assessing whether formal customer acceptance provisions are substantive.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6811050992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>New Pronouncements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">New Pronouncements</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">New Pronouncements</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-02, "Leases"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current U.S. GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current U.S. GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current U.S. GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  This ASU should be applied using a modified retrospective approach. Management is in the process of implementing this Update.  As of the date of this report,  management has determined the scope of leases subject to the new accounting requirements and has selected a software package to assist with compliance.  Management is in the process of drafting the internal accounting lease policy and designing the related processes and internal controls.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&#160; The amendments in this Update eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&#8217;s current estimate of all expected credit losses.  In addition, this Update broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&#160; The amendments in this Update require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.&#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities "</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium). The amendments in this Update shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date.  The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity.   Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium.  The amendments in this Update more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities.  For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle.  Early adoption is permitted, including adoption in an interim period.  Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-12, "Derivatives and Hedging - Targeted Improvements to Accounting for Hedging Activities"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2017-12 applies to all reporting entities that elect to apply hedge accounting.  The hedge accounting requirements under current GAAP sometimes do not permit an entity to properly recognize the economic results of the hedging strategy in the financial statements, and they are difficult to understand and interpret.  The amendments in this Update make certain targeted improvements to simplify the application of the hedge accounting guidance.  Also, they better align the risk management activities and financial reporting for hedging relationships through changes to both 1) the designation and measurement guidance for qualifying hedging relationships and 2) the presentation of hedge results.  For public companies, the amendments in ASU 2017-12 are effective for annual reporting periods beginning after December 15, 2018, and interim reporting periods within those annual periods.  Early adoption is permitted including adoption in any interim period after issuance of the Update.  All transition requirements and elections should be applied to hedging relationships existing on the date of adoption.  The entity should apply a cumulative-effect adjustment related to eliminating the separate measurement of ineffectiveness to accumulated other comprehensive income with a corresponding adjustment to the opening balance of retained earnings as of the beginning of the fiscal year that an entity adopts the amendments in this Update.  The amended presentation and disclosure guidance is required only prospectively.  Management does not expect ASU 2017-12 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-1, "Land Easement Practical Expedient for Transition to Topic 842"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-01 applies to entities with land easements that exist or expired before an entity&#8217;s adoption of Topic 842, provided that the entity does not account for those land easements as leases under Topic 840.  The amendments in this Update permit an entity to elect an optional transition practical expedient to not evaluate under Topic 842 land easements that exist or expired before the entity&#8217;s adoption of Topic 842 and that were not previously accounted for as leases under Topic 840.  An entity that elects this practical expedient should apply the practical expedient consistently to all of its existing or expired land easements that were not previously accounted for as leases under Topic 840.  Once an entity adopts Topic 842, it should apply that Topic prospectively to all new (or modified) land easements to determine whether the arrangement should be accounted for as a lease.  An entity that does not elect this practical expedient should evaluate all existing or expired land easements in connection with the adoption of the new lease requirements in Topic 842 to assess whether they meet the definition of a lease.  The amendments in this Update affect the amendments in Update 2016-02, which are not yet effective but may be early adopted.  The effective date and transition requirements for the amendments are the same as the effective date and transition requirements in Update 2016-02,  which is for annual periods beginning after December 15, 2018, and interim periods within those annual periods. Management is in the process of evaluating the impact of this Update. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-2, "Income Statement - Reporting Comprehensive Income"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-02 applies to entities required to apply the provisions of Topic 220, Income Statement - Reporting Comprehensive Income, and has items of other comprehensive income for which the related tax effects are presented in other comprehensive income as required by GAAP.  The amendments in this Update allow a reclassification from accumulated other comprehensive income to retained earnings for stranded tax effects resulting from the Tax Cuts and Jobs Act of 2017 (the "Tax Act").  Consequently, the amendments eliminate the stranded tax effects resulting from the Tax Act and will improve the usefulness of information reported to financial statement users.  However, because the amendments only relate to the reclassification of the income tax effects of the Tax Act, the underlying guidance that requires the effect of a change in tax laws or rates to be included in income from continuing operations is not affected.  The amendments in this Update also require certain disclosures about stranded tax effects.  The amendments in this Update are effective for all entities for fiscal years beginning after December 15, 2018, and interim periods within those fiscal years.  Early adoption of the amendments in this Update is permitted, including adoption in any interim period.  The amendments in this Update should be applied either in the period of adoption or retrospectively to each period (or periods) in which the effect of the change in the U.S. federal corporate income tax rate in the Tax Act is recognized.  Management does not expect ASU 2018-2 to have a material impact on the Company's financial statements and disclosures.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -URI http://asc.fasb.org/topic&amp;trid=2122394<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6820218752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value Measurements</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="11" rowspan="1"></td></tr><tr><td style="width:50%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Quoted&#160;Prices&#160;in</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Active Markets</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">for Identical</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Assets (Level 1)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Significant&#160;    Other</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Observable</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Inputs (Level 2)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;"><br clear="none"/>Unobservable<br clear="none"/>Inputs                                                                                                                                                                             (Level 3)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Assets:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,958</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">380,621</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">142,299</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131,678</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,780</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,501</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,931</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,115</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s debt securities and forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2.  Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service.  For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data.  They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations.  The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency.  The market participants are generally large commercial banks.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company did not record an other-than-temporary impairment of these financial assets during the </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid, using significant inputs that are not observable in the market, and are therefore classified as Level 3.  Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones.  The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the activity for the Company's liabilities measured at fair value using Level 3 inputs for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:85%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(675</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Chiaro contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">52</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to GVi contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">181</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,115</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-financial assets such as property, plant and equipment, goodwill, and intangible assets are required to be measured at fair value only when an impairment loss is recognized.  The Company did not record an impairment charge related to these assets during the </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -URI http://asc.fasb.org/topic&amp;trid=2155941<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6789508320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock', window );">Cash, Cash Equivalents, and Investments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Cash, Cash Equivalents, and Investments</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:63%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">101,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,958</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,631</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">109,572</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,582</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">138,695</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">150,371</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">108,313</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,395</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">75,432</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59,203</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">9,153</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,805</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,036</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,579</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,608</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">337,629</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">297,961</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">272,308</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296,014</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56,246</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">71,727</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">16,744</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,147</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,931</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14,890</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,604</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,459</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,348</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,204</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">356,181</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">423,441</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">803,382</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">827,984</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills consist of debt securities issued by the U.S. government; corporate bonds consist of debt securities issued by both domestic and foreign companies;  asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; municipal bonds consist of debt securities issued by state and local government entities; sovereign bonds consist of direct debt issued by foreign governments; and agency bonds consist of domestic or foreign obligations of government agencies and government sponsored enterprises that have government backing.  All securities are denominated in U.S. Dollars.</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s available-for-sale investments as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16" rowspan="1"></td></tr><tr><td style="width:44%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Amortized<br clear="none"/>Cost</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br clear="none"/>Unrealized<br clear="none"/>Gains</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br clear="none"/>Unrealized<br clear="none"/>Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,159</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(464</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">138,695</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108,533</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">50</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(270</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108,313</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">75,710</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(283</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">75,432</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,165</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,153</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,040</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,036</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">272,345</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">797</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(834</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">272,308</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56,573</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(341</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56,246</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,779</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(73</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,744</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,930</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,931</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,601</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,604</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,360</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,348</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">695,195</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">909</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(2,294</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">693,810</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="24" rowspan="1"></td></tr><tr><td style="width:29%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized Loss Position For:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Less than 12 Months</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">12 Months or Greater</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172,162</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(812</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,693</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(292</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">195,855</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,104</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,209</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(277</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">42,487</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(187</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">138,696</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(464</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">112,632</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,640</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(10</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">115,272</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(624</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,599</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,730</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(69</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,329</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(78</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,196</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,196</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">388,798</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,736</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">77,550</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(558</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">466,348</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(2,294</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, the Company did not recognize any other-than-temporary impairment of these investments.  In its evaluation, management considered the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, the Company's intent and ability to hold the security to expected recovery of value, and other meaningful information.  The Company does not intend to sell, and is unlikely to be required to sell, any of these available-for-sale investments before their effective maturity or market price recovery.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling </font><font style="font-family:Arial;font-size:10pt;">$55,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$33,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$88,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$23,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">.  These gains and losses are included in "Investment income" on the Consolidated Statement of Operations.  Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders&#8217; equity as other comprehensive income (loss).</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the effective maturity dates of the Company&#8217;s available-for-sale investments as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="28" rowspan="1"></td></tr><tr><td style="width:24%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">&lt;1 year</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">1-2 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">2-3 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">3-4 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">4-5 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">5-7 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108,313</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116,223</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97,412</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">36,342</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18,961</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,370</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">380,621</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">138,695</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,604</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">142,299</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">75,432</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,411</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,923</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,504</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,336</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,072</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131,678</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,036</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,995</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,749</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,780</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,153</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,348</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,501</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,931</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,931</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">337,629</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">166,233</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">111,432</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">42,846</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">27,228</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,442</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">693,810</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for cash, cash equivalents, investments in debt and equity instruments (including cost and equity investees and related income statement amounts), equity and cost method investments, investments in joint ventures and any other investment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6820217264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Inventories</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:63%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Raw materials</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">42,759</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,927</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Work-in-process</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,192</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,114</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Finished goods</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">51,448</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31,882</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">96,399</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,923</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI http://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6662950352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">Intangible Assets</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Intangible Assets</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:53%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,687</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,791</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,896</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,607</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,330</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,277</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-compete agreements</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">370</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">123</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">247</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">60,724</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">48,304</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,420</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,687</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,181</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,506</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,607</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,202</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,405</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-compete agreements</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">370</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">278</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">60,724</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,535</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,189</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of April 1, 2018, estimated future amortization expense related to intangible assets is as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2018</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,307</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,701</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,185</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,017</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2022</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,691</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2023</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">989</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">530</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,420</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI http://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6820217264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty Obligations<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantiesDisclosuresAbstract', window );"><strong>Product Warranties Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyDisclosureTextBlock', window );">Warranty Obligations</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Warranty Obligations</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims.  Obligations may also be recorded subsequent to the time of sale whenever specific events or circumstances impacting product quality become known that would not have been taken into account using historical data.  While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company&#8217;s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure.  An adverse change in any of these factors may result in the need for additional warranty provisions. Warranty obligations are included in &#8220;Accrued expenses&#8221; on the Consolidated Balance Sheets.</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,701</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">697</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(802</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,712</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -URI http://asc.fasb.org/topic&amp;trid=2155896<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6820219296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments and Hedging Activities Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock', window );">Derivative Instruments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Derivative Instruments</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates.  Currently, the Company enters into </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;"> types of hedges to manage this risk.  The first are economic hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">45</font><font style="font-family:Arial;font-size:10pt;"> days to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables.  The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged.  These economic hedges are not designated as hedging instruments for hedge accounting treatment.  The second are cash flow hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">18 months</font><font style="font-family:Arial;font-size:10pt;"> to hedge specific forecasted transactions of the Company's foreign subsidiaries with the goal of protecting the Company's budgeted revenues and expenses against foreign currency exchange rate changes compared to its budgeted rates.  These cash flow hedges are designated as hedging instruments for hedge accounting treatment. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="14" rowspan="1"></td></tr><tr><td style="width:47%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Currency</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Notional<br clear="none"/>Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">USD<br clear="none"/>Equivalent</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Notional<br clear="none"/>Value</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">USD<br clear="none"/>Equivalent</font></div></td></tr><tr><td colspan="7" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">565,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,299</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">455,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,049</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Swiss Franc</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,600</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,072</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,365</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,401</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,300</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,824</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,650</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,232</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">400,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,576</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">545,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,110</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">43,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,480</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,725</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,278</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Korean Won</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">655,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">616</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,825,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,708</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20" rowspan="1"></td></tr><tr><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:17%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br clear="none"/>Location</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br clear="none"/>Location</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid&#160;expenses&#160;and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid&#160;expenses&#160;and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="19" rowspan="1"></td></tr><tr><td style="width:21%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:22%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April&#160;1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April&#160;1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of assets presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="10" rowspan="1"></td></tr><tr><td style="width:49%;" rowspan="1" colspan="1"></td><td style="width:27%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Location in Financial Statements</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recorded in shareholders' equity (effective portion)</font></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accumulated other comprehensive income (loss), net of tax</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(55</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(44</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td colspan="10" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(310</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(81</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -URI http://asc.fasb.org/topic&amp;trid=2229140<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6764468512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Revenue Recognition</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On January 1, 2018, the Company adopted Accounting Standards Codification (ASC) 606, "Revenue from Contracts with Customers," using the full retrospective method to present all periods reported on a consistent basis.  Accordingly, prior-period results have been restated to apply the provisions of this ASC.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As a result of this adoption, revenue for software-only products sold as part of multiple-deliverable arrangements are no longer deferred when vendor-specific objective evidence of fair value does not exist for the undelivered elements of the arrangement. This change results in earlier recognition of revenue.  In addition, certain of the Company&#8217;s product accessory sales, which were reported on a net basis, are now reported on a gross basis as a result of applying the expanded guidance in the new standard related to principal versus agent considerations.  This change results in the Company reporting higher revenue and higher cost of revenue when these sales are reported on a gross basis, although the gross margin dollars do not change.  Furthermore, for arrangements that include customer-specified acceptance criteria, revenue is recognized when the Company can objectively determine that control has been transferred to the customer in accordance with the agreed-upon specifications in the contract, which may occur before formal customer acceptance.  This change primarily impacts revenue recognition for arrangements in the logistics industry where certain customer solutions include installed ID products and results in earlier recognition of revenue.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The adoption of the standard impacted our previously-reported results as follows (in thousands): </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:58%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Statement of Operations</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As previously reported</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Adjustment</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As restated</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">134,942</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,097</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,039</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">28,225</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,307</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32,532</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross margin</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,717</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(210</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,507</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Operating income</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,426</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(210</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,216</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income before income tax expense</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">39,445</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(210</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">39,235</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax expense (benefit)</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6,210</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(26</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6,236</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,655</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(184</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,471</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income per weighted-average common and common-equivalend share:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.26</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.26</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Diluted</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.26</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(0.01</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.25</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:58%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Balance Sheet</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As previously reported</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Adjustment</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As restated</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,800</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(117</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,683</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,391</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">112</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,503</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,969</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(549</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,420</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Retained earnings</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">668,267</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">320</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">668,587</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="9" rowspan="1"></td></tr><tr><td style="width:72%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months ended</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April&#160;1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Americas</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">59,217</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">42,540</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Europe</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56,203</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">43,107</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Greater China</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">27,159</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,706</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other Asia</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,988</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,686</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">169,567</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,039</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by revenue type (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="9" rowspan="1"></td></tr><tr><td style="width:72%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months ended</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April&#160;1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Standard products and services</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">158,399</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">133,017</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Application-specific customer solutions</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,168</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,022</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">169,567</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">139,039</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Costs to Fulfill a Contract</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to </font><font style="font-family:Arial;font-size:10pt;">$4,615,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$3,230,000</font><font style="font-family:Arial;font-size:10pt;"> as of April 1, 2018 and December 31, 2017, respectively. </font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounts Receivable, Contract Assets, and Contract Liabilities</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value.  The Company maintains reserves against its accounts receivable for potential credit losses.  Credit losses recognized on accounts receivable were immaterial for the three-month periods ended April 1, 2018 and April 2, 2017, respectively.  Contract assets consist of unbilled revenue which arises when revenue is recognized in advance of billing for certain application-specific customer solutions contracts.  Contract liabilities consist of deferred revenue and customer deposits which arise when amounts are billed to or collected from customers in advance of revenue recognition.</font></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the deferred revenue and customer deposits activity for the three-month period ended April 1, 2018 (in thousands):</font></div><div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:80%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:18%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amount</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,420</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Increases to deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,751</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Recognition of revenue</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5,875</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">208</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,504</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As a practical expedient, the Company has elected not to disclose the aggregate amount of the transaction price allocated to unsatisfied performance obligations, as our contracts have an original expected duration of less than one year.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6810606304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsGeneralTextBlock', window );">Stock-Based Compensation Expense</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Stock-Based Compensation Expense</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock awards.  As of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, the Company had </font><font style="font-family:Arial;font-size:10pt;">10,160,452</font><font style="font-family:Arial;font-size:10pt;"> shares available for grant.  Stock options are granted with an exercise price equal to the market value of the Company&#8217;s common stock at the grant date and generally vest over </font><font style="font-family:Arial;font-size:10pt;">four</font><font style="font-family:Arial;font-size:10pt;"> or five years based upon continuous service and expire </font><font style="font-family:Arial;font-size:10pt;">ten</font><font style="font-family:Arial;font-size:10pt;"> years from the grant date.  Restricted stock awards are granted with an exercise price equal to the market value of the Company's common stock at the time of grant.  Conditions of the award may be based on continuing employment and/or achievement of pre-established performance goals and objectives.  Vesting for performance-based restricted stock awards and time-based restricted stock awards must not be less than </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;"> year and </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;"> years, respectively; however, awards with time-based vesting may become vested incrementally over such three-year period. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s stock option activity for the </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">:</font></div><div style="line-height:120%;padding-left:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13" rowspan="1"></td></tr><tr><td style="width:39%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exercise</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Price</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Remaining</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Contractual</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Term&#160;(in&#160;years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Intrinsic</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,726</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25.24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,043</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56.44</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercised</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(697</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15.96</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(68</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25.84</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">14,004</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">30.25</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">317,169</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercisable as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,879</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">19.88</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6.5</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">156,676</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;background-color:#cceeff;">Options vested or expected to vest as of April 1, 2018 (1)</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,377</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">28.99</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.8</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">294,379</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;">&#160; </font></div><div style="line-height:120%;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future.  Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6" rowspan="1"></td></tr><tr><td style="width:71%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Risk-free rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2.9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected dividend yield</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.32</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.39</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected volatility</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">39</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected term (in years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Risk-free rate</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected dividend yield</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company&#8217;s Board of Directors and dividing that result by the closing stock price on the grant date.&#160;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected volatility</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The expected volatility was based upon a combination of historical volatility of&#160;the Company&#8217;s common stock over the contractual term of the option and implied volatility for traded options of the Company&#8217;s stock.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected term</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company stratifies its employee population into </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;"> groups: one consisting of senior management and another consisting of all other employees.  The Company currently applies an estimated annual forfeiture rate of </font><font style="font-family:Arial;font-size:10pt;">8%</font><font style="font-family:Arial;font-size:10pt;"> to all unvested options for senior management and a rate of </font><font style="font-family:Arial;font-size:10pt;">12%</font><font style="font-family:Arial;font-size:10pt;"> for all other employees.  The Company revised its estimated forfeiture rates in the three-month period ended April 1, 2018, resulting in an increase to compensation expense of </font><font style="font-family:Arial;font-size:10pt;">$1,283,000</font><font style="font-family:Arial;font-size:10pt;">. The Company also revised its estimated forfeiture rates in the three-month period ended April 2, 2017, resulting in an decrease to compensation expense of </font><font style="font-family:Arial;font-size:10pt;">$673,000</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The weighted-average grant-date fair values of stock options granted during the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$21.62</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$14.95</font><font style="font-family:Arial;font-size:10pt;">, respectively. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The total intrinsic values of stock options exercised for the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$28,088,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$53,043,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  The total fair values of stock options vested for the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$25,674,000</font><font style="font-family:Arial;font-size:10pt;">  and </font><font style="font-family:Arial;font-size:10pt;">$17,987,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, total unrecognized compensation expense related to non-vested stock options was </font><font style="font-family:Arial;font-size:10pt;">$63,749,000</font><font style="font-family:Arial;font-size:10pt;">, which is expected to be recognized over a weighted-average period of </font><font style="font-family:Arial;font-size:10pt;">2.02</font><font style="font-family:Arial;font-size:10pt;"> years.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's restricted stock activity for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">: </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="11" rowspan="1"></td></tr><tr><td style="width:48%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares                   (in thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average     Grant Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate Intrinsic Value                  (in thousands)(1)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">17.03</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vested</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">17.03</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,040</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:174%;text-align:justify;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1) Fair market value as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The fair values of restricted stock awards granted were determined based upon the market value of the Company's common stock at the time of grant.  The initial cost is then amortized over the period of vesting until the restrictions lapse.  These restricted shares will be fully vested in 2018.  Participants are entitled to dividends on restricted stock awards, but only receive those amounts if the shares vest.  The sale or transfer of these shares is restricted during the vesting period.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$13,194,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$2,347,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, and for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$7,483,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$2,439,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  </font><font style="font-family:Arial;font-size:10pt;">No</font><font style="font-family:Arial;font-size:10pt;"> compensation expense was capitalized as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> or </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:69%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">797</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">430</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,815</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,610</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,582</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,443</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,194</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,483</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsGeneralTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items.  Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -URI http://asc.fasb.org/topic&amp;trid=2127225<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsGeneralTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6811184368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchase Program<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stock Repurchase Program</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Stock Repurchase Program</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In April 2017, the Company's Board of Directors authorized the repurchase of </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;"> of the Company's common stock.  As of April 1, 2018, the Company repurchased </font><font style="font-family:Arial;font-size:10pt;">1,744,000</font><font style="font-family:Arial;font-size:10pt;"> shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;"> under this program, including </font><font style="font-family:Arial;font-size:10pt;">803,000</font><font style="font-family:Arial;font-size:10pt;"> shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$45,200,000</font><font style="font-family:Arial;font-size:10pt;"> in the three-month period ended April 1, 2018.  Stock repurchases under this April 2017 program are now complete.  In February 2018, the Company's Board of Directors authorized the repurchase of an additional </font><font style="font-family:Arial;font-size:10pt;">$150,000,000</font><font style="font-family:Arial;font-size:10pt;"> of the Company's common stock.  As of April 1, 2018, the Company repurchased </font><font style="font-family:Arial;font-size:10pt;">453,000</font><font style="font-family:Arial;font-size:10pt;"> shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$24,002,000</font><font style="font-family:Arial;font-size:10pt;"> under this program, leaving a remaining authorized balance of </font><font style="font-family:Arial;font-size:10pt;">$125,998,000</font><font style="font-family:Arial;font-size:10pt;">.  Total stock repurchases for the three-month period ended April 1, 2018 amounted to </font><font style="font-family:Arial;font-size:10pt;">$69,202,000</font><font style="font-family:Arial;font-size:10pt;">.  The Company may repurchase shares under this program in future periods depending upon a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI http://asc.fasb.org/topic&amp;trid=2208762<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6820193584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Taxes</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Taxes</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A reconciliation of the United States federal statutory corporate tax rate to the Company&#8217;s income tax expense, or effective tax rate, was as follows:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6" rowspan="1"></td></tr><tr><td style="width:77%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision at federal statutory corporate tax rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">21</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Tax credit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to stock option exercises</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(33</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other discrete tax events</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On December 22, 2017, the United States Congress passed and the President signed into law the Tax Act.  The Tax Act included a decrease in the U.S. federal statutory corporate tax rate from </font><font style="font-family:Arial;font-size:10pt;">35%</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">21%</font><font style="font-family:Arial;font-size:10pt;">, a one-time transition tax on unrepatriated foreign earnings, and limits on certain deductions.  The Company made what it considers to be a reasonable estimate of the impact of the Tax Act in its financial statements for the year ended December 31, 2017.  The Company has not recorded any changes to this estimate for the three-month period ended April 1, 2018.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Securities and Exchange Commission (SEC) released Staff Accounting Bulletin (SAB) No. 118 to provide guidance to companies on how to implement the accounting and disclosure changes as a result of the Tax Act.  The SEC staff guidance has recognized that, due to the complexity and timing of the release of the Tax Act, the accounting for this change in the law may be incomplete upon issuance of a company's financial statements.  This significant estimate is highly judgmental and changes to this estimate could result in material charges or credits in future reporting periods.  U.S. Treasury regulations and administrative guidance have not been finalized as of the date of these financial statements.  The issuance of final regulations may require the Company to revise its estimates of earnings and profits, as well as certain deferred taxes as required.  The Tax Act subjects the Company to current tax on Global Intangible Low-Taxed Income (GILTI) earned by certain foreign subsidiaries.&#160; The Company can make an accounting policy election to either recognize deferred taxes for temporary differences expected to reverse as GILTI in future years or provide for the tax expense related to GILTI resulting from those items in the year the tax is incurred.  As of the date of this report, the Company is still evaluating the guidance and has not made a policy election related to the treatment of the GILTI tax.  The Company will continue to gather and analyze information on historical unrepatriated foreign earnings and to monitor state laws relating to this income to finalize both the federal and state tax impact.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The majority of income earned outside of the United States is indefinitely reinvested to provide funds for international expansion.  The Company is tax resident in numerous jurisdictions around the world and has identified its major jurisdictions as the United States, Ireland, and China.  The statutory tax rate is </font><font style="font-family:Arial;font-size:10pt;">12.5%</font><font style="font-family:Arial;font-size:10pt;"> in Ireland and </font><font style="font-family:Arial;font-size:10pt;">25%</font><font style="font-family:Arial;font-size:10pt;"> in China, compared to the U.S. federal statutory corporate tax rate of </font><font style="font-family:Arial;font-size:10pt;">21%</font><font style="font-family:Arial;font-size:10pt;">.  International rights to certain of the Company's intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate that is lower than the above mentioned statutory rates, although the reduced taxes overseas have been partially offset by changes in U.S. tax law.  These differences resulted in a decrease in the effective tax rate by </font><font style="font-family:Arial;font-size:10pt;">7</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">18</font><font style="font-family:Arial;font-size:10pt;"> percentage points for the three-month periods ended April 1, 2018 and April 2, 2017, respectively. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises resulted in a decrease of the effective tax rate by </font><font style="font-family:Arial;font-size:10pt;">13</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">33</font><font style="font-family:Arial;font-size:10pt;"> percentage points for the three-month periods ended April 1, 2018 and April 2, 2017, respectively. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On January 1, 2018, the Company adopted Accounting Standard Update (ASU) 2016-16, "Income Taxes - Intra-Entity Transfers of Assets Other than Inventory."  This Update requires the recognition of deferred income taxes for an intra-entity transfer of an asset other than inventory.  As a result of this ASU, the Company recorded </font><font style="font-family:Arial;font-size:10pt;">$5,961,000</font><font style="font-family:Arial;font-size:10pt;"> through a cumulative-effect adjustment directly to retained earnings at the beginning of fiscal year 2018. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">During the </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, the Company recorded a </font><font style="font-family:Arial;font-size:10pt;">$484,000</font><font style="font-family:Arial;font-size:10pt;"> increase in reserves for income taxes, net of deferred tax benefit.  Estimated interest and penalties included in these amounts totaled </font><font style="font-family:Arial;font-size:10pt;">$70,000</font><font style="font-family:Arial;font-size:10pt;"> for the </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s reserve for income taxes, including gross interest and penalties, was </font><font style="font-family:Arial;font-size:10pt;">$7,986,000</font><font style="font-family:Arial;font-size:10pt;"> as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, which included </font><font style="font-family:Arial;font-size:10pt;">$6,958,000</font><font style="font-family:Arial;font-size:10pt;"> classified as a non-current liability and </font><font style="font-family:Arial;font-size:10pt;">$1,028,000</font><font style="font-family:Arial;font-size:10pt;"> recorded as a reduction to non-current deferred tax assets.  The amount of gross interest and penalties included in these balances was </font><font style="font-family:Arial;font-size:10pt;">$847,000</font><font style="font-family:Arial;font-size:10pt;">.  If the Company&#8217;s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.  As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately </font><font style="font-family:Arial;font-size:10pt;">$1,100,000</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">$1,200,000</font><font style="font-family:Arial;font-size:10pt;"> over the next twelve months.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has defined its major tax jurisdictions as the United States, Ireland and China, and within the United States, Massachusetts.  Within the United States, the tax years </font><font style="font-family:Arial;font-size:10pt;">2014 through 2017</font><font style="font-family:Arial;font-size:10pt;"> remain open to examination by the Internal Revenue Service and various state tax authorities.  The tax years </font><font style="font-family:Arial;font-size:10pt;">2013 through 2017</font><font style="font-family:Arial;font-size:10pt;"> remain open to examination by various taxing authorities in other jurisdictions in which the Company operates.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6663441408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted-Average Shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Weighted-Average Shares</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average Shares</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6" rowspan="1"></td></tr><tr><td style="width:77%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">173,280</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172,646</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Effect of dilutive stock options</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,361</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,708</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">179,641</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">178,354</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock options to purchase </font><font style="font-family:Arial;font-size:10pt;">1,339,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">1,648,000</font><font style="font-family:Arial;font-size:10pt;"> shares of common stock, on a weighted-average basis, were outstanding during the three-month periods ended April 1, 2018 and April 2, 2017, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI http://asc.fasb.org/topic&amp;trid=2144383<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6658636800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Subsequent Events</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On April 25, 2018, the Company's shareholders approved an amendment to the Company's Articles of Organization to increase the authorized number of shares of common stock from&#160;</font><font style="font-family:Arial;font-size:10pt;">200,000,000</font><font style="font-family:Arial;font-size:10pt;">&#160;to&#160;</font><font style="font-family:Arial;font-size:10pt;">300,000,000</font><font style="font-family:Arial;font-size:10pt;">.  In addition, on April 25, 2018, the Company's shareholders approved an amendment and restatement of the Company's 2001 General Stock Option Plan which provides for an increase in the number of available shares by </font><font style="font-family:Arial;font-size:10pt;">10,000,000</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On April 30, 2018, the Company&#8217;s Board of Directors declared a cash dividend of </font><font style="font-family:Arial;font-size:10pt;">$0.045</font><font style="font-family:Arial;font-size:10pt;"> per share.  The dividend is payable </font><font style="font-family:Arial;font-size:10pt;">June&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> to all shareholders of record as of the close of business on </font><font style="font-family:Arial;font-size:10pt;">May&#160;18, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI http://asc.fasb.org/topic&amp;trid=2122774<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6811026928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes revenue in accordance with Accounting Standards Codification (ASC) 606, &#8220;Revenue from Contracts with Customers.&#8221; The core principle of ASC 606 is to recognize revenue in a manner that depicts the transfer of promised goods or services to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services.  The framework in support of this core principle includes: (1) identifying the contract with the customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations; and (5) recognizing revenue when (or as) the performance obligations are satisfied.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Identifying the Contract with the Customer</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company identifies contracts with customers as agreements that create enforceable rights and obligations, which typically take the form of customer contracts or purchase orders.  </font></div><div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Identifying the Performance Obligations in the Contract</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company identifies performance obligations as promises in contracts to transfer distinct goods or services. Standard products and services that the Company regularly sells separately are accounted for as distinct performance obligations.  Application-specific customer solutions that are comprised of a combination of products and services are accounted for as one performance obligation to deliver a total solution to the customer.  These solutions are provided to customers in a variety of industries, including the consumer electronics, logistics, and automotive industries.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Shipping and handling activities for which the Company is responsible under the terms and conditions of the sale are not accounted for as performance obligations but as fulfillment costs.  These activities are required to fulfill the Company&#8217;s promise to transfer the good and are expensed when revenue is recognized.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company does not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract.  If revenue is recognized before immaterial promises have been completed, then the costs related to such immaterial promises are accrued at the time of sale.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Determining the Transaction Price</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company determines the transaction price as the amount of consideration it expects to receive in exchange for transferring promised goods or services to the customer.  Amounts collected from customers for sales taxes are excluded from the transaction price. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">If a contract includes a variable amount, such as a rebate, then the Company estimates the transaction price using either the expected value or the most likely amount of consideration to be received, depending upon the specific facts and circumstances.  The Company includes estimated variable consideration in the transaction price only to the extent it is probable that a significant reversal of revenue will not occur when the uncertainty is resolved.  The Company updates its estimate of variable consideration at the end of each reporting period to reflect changes in facts and circumstances.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Allocating the Transaction Price to the Performance Obligations</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company allocates the transaction price to each performance obligation at contract inception based on a relative stand-alone selling price basis, or the price at which the Company would sell the good or service separately to similar customers in similar circumstances.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Recognizing Revenue When (or As) the Performance Obligations are Satisfied</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes revenue when it transfers the promised goods or services to the customer.  Revenue for standard products is recognized at the point in time when the customer obtains control of the goods, which is typically upon delivery when the customer has legal title, physical possession, the risks and rewards of ownership, and an enforceable obligation to pay for the products.  Revenue for services, which are not material, are typically recognized over the time the services are provided.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue for application-specific customer solutions is recognized at the point in time when the solution is validated, which is the point in time when the Company can objectively determine that the agreed-upon specifications in the contract have been met and the customer will accept the performance obligations in the arrangement.  Although the customer may have taken legal title and physical possession of the goods when they arrived at the customer&#8217;s designed site, the significant risks and rewards of ownership transfer to the customer only upon validation. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In certain instances, an arrangement may include customer-specified acceptance provisions or performance guarantees that allow the customer to accept or reject delivered products that do not meet the customer&#8217;s specifications.  If the Company can objectively determine that control of a good or service has been transferred to the customer in accordance with the agreed-upon specifications in the contract, then customer acceptance is a formality.  If acceptance provisions are presumed to be substantive, then revenue is deferred until customer acceptance.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For the Company&#8217;s standard products and services, revenue recognition and billing typically occur at the same time.  For application-specific customer solutions, however, the agreement with the customer may provide for billing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Credit assessments are performed to determine payment terms, which vary by region, industry, and customer.  Prepayment terms result in contract liabilities for customer deposits.  When credit is granted to customers, payment is typically due 30 to 90 days from billing.  The Company's contracts have an original expected duration of less than one year, and therefore as a practical expedient, the Company has elected to ignore the impact of the time value of money on a contract and to expense sales commissions.  The Company recognizes an asset for costs to fulfill a contract if the costs relate directly to the contract and to future performance, and the costs are expected to be recovered.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management exercises judgment when determining the amount of revenue to be recognized each period.  Such judgments include, but are not limited to, assessing the customer&#8217;s ability and intention to pay substantially all of the contract consideration when due, determining when two or more contracts should be combined and accounted for as a single contract, determining whether a contract modification has occurred, assessing whether promises are immaterial in the context of the contract, determining whether material promises in a contract represent distinct performance obligations, estimating the transaction price for a contract that contains variable consideration, determining the stand-alone selling price of each performance obligation, determining whether control is transferred over time or at a point in time for performance obligations, and assessing whether formal customer acceptance provisions are substantive. </font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">New Pronouncements</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-02, "Leases"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current U.S. GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current U.S. GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current U.S. GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  This ASU should be applied using a modified retrospective approach. Management is in the process of implementing this Update.  As of the date of this report,  management has determined the scope of leases subject to the new accounting requirements and has selected a software package to assist with compliance.  Management is in the process of drafting the internal accounting lease policy and designing the related processes and internal controls.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&#160; The amendments in this Update eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&#8217;s current estimate of all expected credit losses.  In addition, this Update broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&#160; The amendments in this Update require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.&#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities "</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium). The amendments in this Update shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date.  The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity.   Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium.  The amendments in this Update more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities.  For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle.  Early adoption is permitted, including adoption in an interim period.  Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-12, "Derivatives and Hedging - Targeted Improvements to Accounting for Hedging Activities"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2017-12 applies to all reporting entities that elect to apply hedge accounting.  The hedge accounting requirements under current GAAP sometimes do not permit an entity to properly recognize the economic results of the hedging strategy in the financial statements, and they are difficult to understand and interpret.  The amendments in this Update make certain targeted improvements to simplify the application of the hedge accounting guidance.  Also, they better align the risk management activities and financial reporting for hedging relationships through changes to both 1) the designation and measurement guidance for qualifying hedging relationships and 2) the presentation of hedge results.  For public companies, the amendments in ASU 2017-12 are effective for annual reporting periods beginning after December 15, 2018, and interim reporting periods within those annual periods.  Early adoption is permitted including adoption in any interim period after issuance of the Update.  All transition requirements and elections should be applied to hedging relationships existing on the date of adoption.  The entity should apply a cumulative-effect adjustment related to eliminating the separate measurement of ineffectiveness to accumulated other comprehensive income with a corresponding adjustment to the opening balance of retained earnings as of the beginning of the fiscal year that an entity adopts the amendments in this Update.  The amended presentation and disclosure guidance is required only prospectively.  Management does not expect ASU 2017-12 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-1, "Land Easement Practical Expedient for Transition to Topic 842"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-01 applies to entities with land easements that exist or expired before an entity&#8217;s adoption of Topic 842, provided that the entity does not account for those land easements as leases under Topic 840.  The amendments in this Update permit an entity to elect an optional transition practical expedient to not evaluate under Topic 842 land easements that exist or expired before the entity&#8217;s adoption of Topic 842 and that were not previously accounted for as leases under Topic 840.  An entity that elects this practical expedient should apply the practical expedient consistently to all of its existing or expired land easements that were not previously accounted for as leases under Topic 840.  Once an entity adopts Topic 842, it should apply that Topic prospectively to all new (or modified) land easements to determine whether the arrangement should be accounted for as a lease.  An entity that does not elect this practical expedient should evaluate all existing or expired land easements in connection with the adoption of the new lease requirements in Topic 842 to assess whether they meet the definition of a lease.  The amendments in this Update affect the amendments in Update 2016-02, which are not yet effective but may be early adopted.  The effective date and transition requirements for the amendments are the same as the effective date and transition requirements in Update 2016-02,  which is for annual periods beginning after December 15, 2018, and interim periods within those annual periods. Management is in the process of evaluating the impact of this Update. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-2, "Income Statement - Reporting Comprehensive Income"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-02 applies to entities required to apply the provisions of Topic 220, Income Statement - Reporting Comprehensive Income, and has items of other comprehensive income for which the related tax effects are presented in other comprehensive income as required by GAAP.  The amendments in this Update allow a reclassification from accumulated other comprehensive income to retained earnings for stranded tax effects resulting from the Tax Cuts and Jobs Act of 2017 (the "Tax Act").  Consequently, the amendments eliminate the stranded tax effects resulting from the Tax Act and will improve the usefulness of information reported to financial statement users.  However, because the amendments only relate to the reclassification of the income tax effects of the Tax Act, the underlying guidance that requires the effect of a change in tax laws or rates to be included in income from continuing operations is not affected.  The amendments in this Update also require certain disclosures about stranded tax effects.  The amendments in this Update are effective for all entities for fiscal years beginning after December 15, 2018, and interim periods within those fiscal years.  Early adoption of the amendments in this Update is permitted, including adoption in any interim period.  The amendments in this Update should be applied either in the period of adoption or retrospectively to each period (or periods) in which the effect of the change in the U.S. federal corporate income tax rate in the Tax Act is recognized.  Management does not expect ASU 2018-2 to have a material impact on the Company's financial statements and disclosures.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue recognition. If the entity has different policies for different types of revenue transactions, the policy for each material type of transaction is generally disclosed. If a sales transaction has multiple element arrangements (for example, delivery of multiple products, services or the rights to use assets) the disclosure may indicate the accounting policy for each unit of accounting as well as how units of accounting are determined and valued. The disclosure may encompass important judgment as to appropriateness of principles related to recognition of revenue. The disclosure also may indicate the entity's treatment of any unearned or deferred revenue that arises from the transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.B.Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18726-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6820210352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock', window );">Assets and Liabilities Measured at Fair Value on a Recurring Basis</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="11" rowspan="1"></td></tr><tr><td style="width:50%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Quoted&#160;Prices&#160;in</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Active Markets</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">for Identical</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Assets (Level 1)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Significant&#160;    Other</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Observable</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Inputs (Level 2)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;"><br clear="none"/>Unobservable<br clear="none"/>Inputs                                                                                                                                                                             (Level 3)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Assets:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,958</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">380,621</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">142,299</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131,678</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,780</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,501</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,931</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,115</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock', window );">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the activity for the Company's liabilities measured at fair value using Level 3 inputs for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:85%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(675</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Chiaro contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">52</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to GVi contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">181</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,115</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=66048111&amp;loc=d3e19279-110258<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=66048111&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66048111&amp;loc=d3e19190-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6790878064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock', window );">Components of Cash, Cash Equivalents, and Investments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:63%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">101,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,958</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,631</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">109,572</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,582</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">138,695</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">150,371</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">108,313</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,395</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">75,432</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59,203</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">9,153</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,805</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,036</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,579</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,608</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">337,629</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">297,961</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">272,308</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296,014</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56,246</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">71,727</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">16,744</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,147</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,931</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14,890</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,604</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,459</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,348</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,204</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">356,181</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">423,441</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">803,382</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">827,984</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock', window );">Summary of Available-for-Sale Investments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s available-for-sale investments as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16" rowspan="1"></td></tr><tr><td style="width:44%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Amortized<br clear="none"/>Cost</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br clear="none"/>Unrealized<br clear="none"/>Gains</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br clear="none"/>Unrealized<br clear="none"/>Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,159</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(464</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">138,695</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108,533</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">50</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(270</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108,313</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">75,710</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(283</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">75,432</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,165</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,153</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,040</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,036</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">272,345</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">797</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(834</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">272,308</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56,573</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(341</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56,246</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,779</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(73</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,744</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,930</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,931</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,601</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,604</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,360</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,348</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">695,195</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">909</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(2,294</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">693,810</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock', window );">Gross Unrealized Losses and Fair Values for Available-for-Sale Investments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="24" rowspan="1"></td></tr><tr><td style="width:29%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized Loss Position For:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Less than 12 Months</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">12 Months or Greater</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172,162</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(812</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,693</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(292</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">195,855</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,104</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,209</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(277</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">42,487</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(187</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">138,696</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(464</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">112,632</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,640</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(10</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">115,272</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(624</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,599</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,730</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(69</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,329</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(78</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,196</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,196</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">388,798</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,736</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">77,550</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(558</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">466,348</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(2,294</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock', window );">Effective Maturity Dates of Available-for-Sale Investments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the effective maturity dates of the Company&#8217;s available-for-sale investments as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="28" rowspan="1"></td></tr><tr><td style="width:24%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">&lt;1 year</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">1-2 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">2-3 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">3-4 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">4-5 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">5-7 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108,313</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116,223</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97,412</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">36,342</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18,961</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,370</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">380,621</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">138,695</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,604</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">142,299</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">75,432</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,411</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,923</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,504</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,336</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,072</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131,678</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,036</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,995</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,749</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,780</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,153</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,348</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,501</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,931</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,931</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">337,629</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">166,233</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">111,432</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">42,846</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">27,228</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,442</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">693,810</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Components of cash cash equivalents and investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For all investments in an unrealized loss position, including those for which other-than-temporary impairments have not been recognized in earnings (including investments for which a portion of an other-than-temporary impairment has been recognized in other comprehensive income), a tabular disclosure of the aggregate related fair value of investments with unrealized losses and the aggregate amount of unrealized losses (that is, the amount by which amortized cost basis exceeds fair value).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27290-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6820210896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventories</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:63%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Raw materials</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">42,759</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,927</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Work-in-process</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,192</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,114</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Finished goods</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">51,448</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31,882</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">96,399</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,923</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6768938768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Intangible Assets</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:53%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,687</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,791</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,896</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,607</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,330</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,277</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-compete agreements</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">370</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">123</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">247</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">60,724</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">48,304</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,420</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,687</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,181</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,506</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,607</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,202</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,405</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-compete agreements</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">370</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">278</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">60,724</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,535</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,189</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Intangible Assets, Future Amortization Expense</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of April 1, 2018, estimated future amortization expense related to intangible assets is as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2018</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,307</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,701</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,185</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,017</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2022</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,691</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2023</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">989</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">530</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,420</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6662969200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty Obligations (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantiesDisclosuresAbstract', window );"><strong>Product Warranties Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Changes in Warranty Obligations</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,701</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">697</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(802</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,712</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6811184368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments and Hedging Activities Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_OutstandingForwardContractsTableTextBlock', window );">Outstanding Forward Contracts Table</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="14" rowspan="1"></td></tr><tr><td style="width:47%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Currency</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Notional<br clear="none"/>Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">USD<br clear="none"/>Equivalent</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Notional<br clear="none"/>Value</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">USD<br clear="none"/>Equivalent</font></div></td></tr><tr><td colspan="7" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">565,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,299</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">455,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,049</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Swiss Franc</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,600</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,072</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,365</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,401</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,300</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,824</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,650</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,232</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">400,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,576</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">545,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,110</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">43,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,480</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,725</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,278</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Korean Won</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">655,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">616</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,825,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,708</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock', window );">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20" rowspan="1"></td></tr><tr><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:17%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br clear="none"/>Location</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br clear="none"/>Location</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid&#160;expenses&#160;and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid&#160;expenses&#160;and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OffsettingAssetsTableTextBlock', window );">Offsetting Assets</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="19" rowspan="1"></td></tr><tr><td style="width:21%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:22%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April&#160;1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April&#160;1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of assets presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock', window );">Derivative Instruments, Gain (Loss)</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="10" rowspan="1"></td></tr><tr><td style="width:49%;" rowspan="1" colspan="1"></td><td style="width:27%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Location in Financial Statements</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recorded in shareholders' equity (effective portion)</font></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accumulated other comprehensive income (loss), net of tax</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(55</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(44</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td colspan="10" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(310</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(81</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_OutstandingForwardContractsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Outstanding forward contracts table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_OutstandingForwardContractsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OffsettingAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of derivative and other financial assets that are subject to offsetting, including master netting arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225877-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OffsettingAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624171-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5618551-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624163-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6806498544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">Schedule of Adoption of New Accounting Principles</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The adoption of the standard impacted our previously-reported results as follows (in thousands): </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:58%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Statement of Operations</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As previously reported</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Adjustment</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As restated</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">134,942</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,097</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,039</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">28,225</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,307</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32,532</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross margin</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,717</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(210</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,507</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Operating income</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,426</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(210</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,216</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income before income tax expense</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">39,445</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(210</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">39,235</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax expense (benefit)</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6,210</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(26</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6,236</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,655</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(184</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,471</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income per weighted-average common and common-equivalend share:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.26</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.26</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Diluted</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.26</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(0.01</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.25</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:58%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Balance Sheet</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As previously reported</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Adjustment</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As restated</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,800</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(117</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,683</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,391</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">112</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,503</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,969</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(549</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,420</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Retained earnings</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">668,267</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">320</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">668,587</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="9" rowspan="1"></td></tr><tr><td style="width:72%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months ended</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April&#160;1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Americas</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">59,217</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">42,540</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Europe</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56,203</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">43,107</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Greater China</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">27,159</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,706</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other Asia</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,988</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,686</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">169,567</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,039</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by revenue type (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="9" rowspan="1"></td></tr><tr><td style="width:72%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months ended</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April&#160;1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April&#160;2, 2017</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Standard products and services</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">158,399</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">133,017</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Application-specific customer solutions</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,168</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,022</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">169,567</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">139,039</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Summary of Deferred Revenue and Customer Deposits Activity</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the deferred revenue and customer deposits activity for the three-month period ended April 1, 2018 (in thousands):</font></div><div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:80%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:18%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amount</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,420</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Increases to deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,751</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Recognition of revenue</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5,875</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">208</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,504</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of contract balances and changes in contract balances.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=82913847&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=82913847&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=64853466&amp;loc=d3e22580-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=68064558&amp;loc=d3e765-108305<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=64853466&amp;loc=d3e22499-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.10-01.(b)(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=27015980&amp;loc=d3e46468-122699<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=64853466&amp;loc=d3e22583-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=68064558&amp;loc=d3e725-108305<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6662743632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Stock Option Activity</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s stock option activity for the </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">:</font></div><div style="line-height:120%;padding-left:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13" rowspan="1"></td></tr><tr><td style="width:39%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exercise</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Price</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Remaining</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Contractual</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Term&#160;(in&#160;years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Intrinsic</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,726</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25.24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,043</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56.44</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercised</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(697</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15.96</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(68</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25.84</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">14,004</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">30.25</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">317,169</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercisable as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,879</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">19.88</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6.5</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">156,676</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;background-color:#cceeff;">Options vested or expected to vest as of April 1, 2018 (1)</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,377</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">28.99</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.8</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">294,379</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;">&#160; </font></div><div style="line-height:120%;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future.  Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.</font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6" rowspan="1"></td></tr><tr><td style="width:71%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Risk-free rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2.9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected dividend yield</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.32</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.39</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected volatility</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">39</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected term (in years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock', window );">Nonvested Restricted Stock Shares Activity</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's restricted stock activity for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">: </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="11" rowspan="1"></td></tr><tr><td style="width:48%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares                   (in thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average     Grant Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate Intrinsic Value                  (in thousands)(1)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">17.03</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vested</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of April 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">17.03</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,040</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:174%;text-align:justify;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1) Fair market value as of </font><font style="font-family:Arial;font-size:10pt;">April&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:69%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">797</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">430</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,815</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,610</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,582</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,443</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,194</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,483</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in outstanding nonvested restricted stock shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the allocation of equity-based compensation costs to a given line item on the balance sheet and income statement for the period. This may include the reporting line for the costs and the amount capitalized and expensed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=27013229&amp;loc=d3e301413-122809<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6811181616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A reconciliation of the United States federal statutory corporate tax rate to the Company&#8217;s income tax expense, or effective tax rate, was as follows:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6" rowspan="1"></td></tr><tr><td style="width:77%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision at federal statutory corporate tax rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">21</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Tax credit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to stock option exercises</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(33</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other discrete tax events</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6609724544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted-Average Shares (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock', window );">Calculation of Weighted-Average Shares</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6" rowspan="1"></td></tr><tr><td style="width:77%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">April 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">April 2, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">173,280</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172,646</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Effect of dilutive stock options</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,361</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,708</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">179,641</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">178,354</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6832304240">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</a></td>
<td class="nump">$ 7,958<span></span>
</td>
<td class="nump">$ 8,631<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">693,810<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">380,621<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">142,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">131,678<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">22,780<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">10,501<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">5,931<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Quoted Prices in Active Markets for Identical Assets (Level 1)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</a></td>
<td class="nump">7,958<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue', window );">Cash flow hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosureAbstract', window );"><strong>Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue', window );">Cash flow hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Contingent consideration liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Quoted Prices in Active Markets for Identical Assets (Level 1) | Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Quoted Prices in Active Markets for Identical Assets (Level 1) | Treasury bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Quoted Prices in Active Markets for Identical Assets (Level 1) | Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Quoted Prices in Active Markets for Identical Assets (Level 1) | Sovereign bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Quoted Prices in Active Markets for Identical Assets (Level 1) | Municipal bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Quoted Prices in Active Markets for Identical Assets (Level 1) | Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Significant Other Observable Inputs (Level 2)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue', window );">Cash flow hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosureAbstract', window );"><strong>Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue', window );">Cash flow hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">18<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Contingent consideration liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Significant Other Observable Inputs (Level 2) | Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">380,621<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Significant Other Observable Inputs (Level 2) | Treasury bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">142,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Significant Other Observable Inputs (Level 2) | Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">131,678<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Significant Other Observable Inputs (Level 2) | Sovereign bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">22,780<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Significant Other Observable Inputs (Level 2) | Municipal bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">10,501<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Significant Other Observable Inputs (Level 2) | Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">5,931<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Unobservable Inputs (Level 3)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue', window );">Cash flow hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosureAbstract', window );"><strong>Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue', window );">Cash flow hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Contingent consideration liabilities</a></td>
<td class="nump">3,115<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Unobservable Inputs (Level 3) | Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Unobservable Inputs (Level 3) | Treasury bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Unobservable Inputs (Level 3) | Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Unobservable Inputs (Level 3) | Sovereign bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Unobservable Inputs (Level 3) | Municipal bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring | Unobservable Inputs (Level 3) | Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsFairValueDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of debt securities categorized neither as held-to-maturity nor trading.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=75030427&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82896770&amp;loc=d3e26610-111562<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27161-111563<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)-(g)<br> -URI http://asc.fasb.org/extlink&amp;oid=75019621&amp;loc=d3e62557-112803<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6911338&amp;loc=d3e6819-128478<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value as of the balance sheet date of all foreign currency derivative assets designated as cash flow hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624163-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value as of the balance sheet date of all foreign currency derivative liabilities designated as cash flow hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624163-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyCashFlowHedgeLiabilityAtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyContractAssetFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MoneyMarketFundsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MoneyMarketFundsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6832374096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details) - Unobservable Inputs (Level 3) - Fair Value, Measurements, Recurring<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Apr. 01, 2018 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Beginning balance</a></td>
<td class="nump">$ 3,557<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Ending balance</a></td>
<td class="nump">3,115<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Fair value adjustment to Manatee contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueAdjustment', window );">Fair value adjustment to contingent consideration</a></td>
<td class="num">(675)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Fair value adjustment to Chiaro contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueAdjustment', window );">Fair value adjustment to contingent consideration</a></td>
<td class="nump">52<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Fair value adjustment to GVi contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueAdjustment', window );">Fair value adjustment to contingent consideration</a></td>
<td class="nump">$ 181<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=66048111&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of addition (reduction) to the amount at which a liability could be incurred (settled) in a current transaction between willing parties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContingentConsiderationByTypeAxis=cgnx_ManateeContingentConsiderationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContingentConsiderationByTypeAxis=cgnx_ManateeContingentConsiderationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContingentConsiderationByTypeAxis=cgnx_ChiaroContingentConsiderationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContingentConsiderationByTypeAxis=cgnx_ChiaroContingentConsiderationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContingentConsiderationByTypeAxis=cgnx_GVIContingentConsiderationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContingentConsiderationByTypeAxis=cgnx_GVIContingentConsiderationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6662969200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains', window );">Gross realized gains on sale of investments</a></td>
<td class="nump">$ 55<span></span>
</td>
<td class="nump">$ 88<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses', window );">Gross realized losses on sale of investments</a></td>
<td class="nump">$ 33<span></span>
</td>
<td class="nump">$ 23<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the gross profit realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesGrossRealizedGains</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the gross loss realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6830667376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">$ 101,614<span></span>
</td>
<td class="nump">$ 97,951<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</a></td>
<td class="nump">7,958<span></span>
</td>
<td class="nump">8,631<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">109,572<span></span>
</td>
<td class="nump">106,582<span></span>
</td>
<td class="nump">$ 92,428<span></span>
</td>
<td class="nump">$ 79,641<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">337,629<span></span>
</td>
<td class="nump">297,961<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Long-term investments</a></td>
<td class="nump">356,181<span></span>
</td>
<td class="nump">423,441<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments', window );">Total</a></td>
<td class="nump">803,382<span></span>
</td>
<td class="nump">827,984<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">138,695<span></span>
</td>
<td class="nump">150,371<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">3,604<span></span>
</td>
<td class="nump">23,459<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">75,432<span></span>
</td>
<td class="nump">59,203<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">56,246<span></span>
</td>
<td class="nump">71,727<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">108,313<span></span>
</td>
<td class="nump">47,395<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">272,308<span></span>
</td>
<td class="nump">296,014<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">10,608<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">5,931<span></span>
</td>
<td class="nump">14,890<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">6,036<span></span>
</td>
<td class="nump">21,579<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">16,744<span></span>
</td>
<td class="nump">13,147<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">9,153<span></span>
</td>
<td class="nump">8,805<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">$ 1,348<span></span>
</td>
<td class="nump">$ 4,204<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash, cash equivalents, short term and long term investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CashCashEquivalentsShortTermAndLongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investments in debt securities classified as available-for-sale, expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=75030427&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=82896770&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of debt securities categorized neither as held-to-maturity nor trading which are intended be sold or mature more than one year from the balance sheet date or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=75030427&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=82896770&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3044-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.12)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MoneyMarketFundsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MoneyMarketFundsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6831061952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">$ 695,195<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">909<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(2,294)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">693,810<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury bills</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(464)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury bills | Short-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">139,159<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(464)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">138,695<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury bills | Long-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">3,601<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">3,604<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(1,104)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds | Short-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">108,533<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">50<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(270)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">108,313<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds | Long-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">272,345<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">797<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(834)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">272,308<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(624)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities | Short-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">75,710<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(283)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">75,432<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities | Long-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">56,573<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">14<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(341)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">56,246<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(24)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal bonds | Short-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">9,165<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(12)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">9,153<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal bonds | Long-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">1,360<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(12)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">1,348<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(78)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign bonds | Short-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">6,040<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(5)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">6,036<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign bonds | Long-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">16,779<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">38<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(73)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">16,744<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency bonds | Long-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">5,930<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">$ 5,931<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of unrealized gain in accumulated other comprehensive income (AOCI) on investments in debt securities classified as available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of unrealized loss in accumulated other comprehensive income (AOCI) on investments in debt securities classified as available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the cost of debt 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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27161-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt and equity securities categorized neither as held-to-maturity nor trading.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=75030427&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27232-111563<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82896770&amp;loc=d3e26610-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTypeAxis=us-gaap_ShortTermInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=us-gaap_ShortTermInvestmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTypeAxis=cgnx_LongTermInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=cgnx_LongTermInvestmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6830589792">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">$ 388,798<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(1,736)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair value, 12 months or greater</a></td>
<td class="nump">77,550<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(558)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">466,348<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">(2,294)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">172,162<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(812)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair value, 12 months or greater</a></td>
<td class="nump">23,693<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(292)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">195,855<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">(1,104)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury bills</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">96,209<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(277)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair value, 12 months or greater</a></td>
<td class="nump">42,487<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(187)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">138,696<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">(464)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">112,632<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(614)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair value, 12 months or greater</a></td>
<td class="nump">2,640<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(10)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">115,272<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">(624)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">3,599<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(9)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair value, 12 months or greater</a></td>
<td class="nump">8,730<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(69)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">12,329<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">(78)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">4,196<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(24)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair value, 12 months or greater</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">4,196<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">(24)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair value, 12 months or greater</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of unrealized loss in accumulated other comprehensive income (AOCI) on investments in debt securities classified as available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27290-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27337-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the aggregate fair value of investments in debt and equity securities in an unrealized loss position which are categorized neither as held-to-maturity nor trading securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27290-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27290-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27337-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27337-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27290-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27290-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27337-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6830389968">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">1 year or less</a></td>
<td class="nump">$ 337,629<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 years</a></td>
<td class="nump">166,233<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 years</a></td>
<td class="nump">111,432<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 years</a></td>
<td class="nump">42,846<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 years</a></td>
<td class="nump">27,228<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</a></td>
<td class="nump">8,442<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">693,810<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">1 year or less</a></td>
<td class="nump">108,313<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 years</a></td>
<td class="nump">116,223<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 years</a></td>
<td class="nump">97,412<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 years</a></td>
<td class="nump">36,342<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 years</a></td>
<td class="nump">18,961<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</a></td>
<td class="nump">3,370<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">380,621<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury bills</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">1 year or less</a></td>
<td class="nump">138,695<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 years</a></td>
<td class="nump">3,604<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">142,299<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">1 year or less</a></td>
<td class="nump">75,432<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 years</a></td>
<td class="nump">35,411<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 years</a></td>
<td class="nump">6,923<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 years</a></td>
<td class="nump">6,504<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 years</a></td>
<td class="nump">2,336<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</a></td>
<td class="nump">5,072<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">131,678<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">1 year or less</a></td>
<td class="nump">6,036<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 years</a></td>
<td class="nump">10,995<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 years</a></td>
<td class="nump">5,749<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">22,780<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">1 year or less</a></td>
<td class="nump">9,153<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 years</a></td>
<td class="nump">1,348<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">10,501<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">1 year or less</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 years</a></td>
<td class="nump">5,931<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">$ 5,931<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available For Sale Securities Debt Maturities After Five Years Before Seven Years Fair Value</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available-for-sale securities, debt maturities after third year but before fourth year, fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available-for-sale securities, debt maturities after second year but before third year, fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of available-for-sale debt securities maturing 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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27198-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=75019621&amp;loc=d3e62586-112803<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of debt securities categorized neither as held-to-maturity nor trading.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=75030427&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82896770&amp;loc=d3e26610-111562<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27161-111563<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)-(g)<br> -URI http://asc.fasb.org/extlink&amp;oid=75019621&amp;loc=d3e62557-112803<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6806639952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories - Schedule of Inventories (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 42,759<span></span>
</td>
<td class="nump">$ 33,927<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">2,192<span></span>
</td>
<td class="nump">2,114<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">51,448<span></span>
</td>
<td class="nump">31,882<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">$ 96,399<span></span>
</td>
<td class="nump">$ 67,923<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=68049868&amp;loc=d3e3927-108312<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6830610224">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 60,724<span></span>
</td>
<td class="nump">$ 60,724<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">48,304<span></span>
</td>
<td class="nump">47,535<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">12,420<span></span>
</td>
<td class="nump">13,189<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">Remainder of fiscal 2018</a></td>
<td class="nump">2,307<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2019</a></td>
<td class="nump">2,701<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2020</a></td>
<td class="nump">2,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2021</a></td>
<td class="nump">2,017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2022</a></td>
<td class="nump">1,691<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix', window );">2023</a></td>
<td class="nump">989<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix', window );">Thereafter</a></td>
<td class="nump">530<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">12,420<span></span>
</td>
<td class="nump">13,189<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember', window );">Distribution networks</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">38,060<span></span>
</td>
<td class="nump">38,060<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">38,060<span></span>
</td>
<td class="nump">38,060<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Completed technologies</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">13,687<span></span>
</td>
<td class="nump">13,687<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">4,791<span></span>
</td>
<td class="nump">4,181<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">8,896<span></span>
</td>
<td class="nump">9,506<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">8,896<span></span>
</td>
<td class="nump">9,506<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">8,607<span></span>
</td>
<td class="nump">8,607<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">5,330<span></span>
</td>
<td class="nump">5,202<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">3,277<span></span>
</td>
<td class="nump">3,405<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">3,277<span></span>
</td>
<td class="nump">3,405<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">370<span></span>
</td>
<td class="nump">370<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">123<span></span>
</td>
<td class="nump">92<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">247<span></span>
</td>
<td class="nump">278<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 247<span></span>
</td>
<td class="nump">$ 278<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Finite-Lived Intangible Assets, Amortization Expense, After Year Six</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearSix</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Finite-Lived Intangible Assets, Amortization Expense, Year Six</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_FiniteLivedIntangibleAssetsAmortizationExpenseYearSix</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the remainder of the fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6621372480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty Obligations - Changes in Warranty Obligations (Detail)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Apr. 01, 2018 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInStandardProductWarrantyAccrualRollForward', window );"><strong>Movement in Standard Product Warranty Accrual [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Beginning balance</a></td>
<td class="nump">$ 4,701<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualWarrantiesIssued', window );">Provisions for warranties issued during the period</a></td>
<td class="nump">697<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPayments', window );">Fulfillment of warranty obligations</a></td>
<td class="num">(802)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss', window );">Foreign exchange rate changes</a></td>
<td class="nump">116<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Ending balance</a></td>
<td class="nump">$ 4,712<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInStandardProductWarrantyAccrualRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInStandardProductWarrantyAccrualRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard and extended product warranty accrual from warranties issued.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualWarrantiesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which decreases (increases) the standard and extended product warranty accrual.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6829847008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments (Detail)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Apr. 01, 2018 </div>
<div>Category</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems', window );"><strong>Derivative Instruments and Hedging Activities Disclosures [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeNumberOfInstrumentsHeld', window );">Derivative, Number of Instruments Held</a></td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems', window );"><strong>Derivative Instruments and Hedging Activities Disclosures [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1', window );">Remaining maturity of foreign currency derivatives (up to)</a></td>
<td class="text">45 days<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems', window );"><strong>Derivative Instruments and Hedging Activities Disclosures [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1', window );">Maximum length of time hedged in cash flow hedge</a></td>
<td class="text">18 months<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeNumberOfInstrumentsHeld">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of derivative instruments of a particular group held by the entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5580258-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5579245-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeNumberOfInstrumentsHeld</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum length of time over which the entity is hedging its exposure to the variability in future cash flows for forecasted transactions, excluding those forecasted transactions related to the payment of variable interest on existing financial instruments, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=35736893&amp;loc=d3e80748-113994<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6829989184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivative Instruments - Outstanding Forward Contracts Table (Detail) - Not Designated as Hedging Instrument<br> &#8361; in Thousands, &#165; in Thousands, &#163; in Thousands, SFr in Thousands, Ft in Thousands, $ in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>HUF (Ft)</div>
</th>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>GBP (&#163;)</div>
</th>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>CHF (SFr)</div>
</th>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>KRW (&#8361;)</div>
</th>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>TWD ($)</div>
</th>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>HUF (Ft)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>GBP (&#163;)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>CHF (SFr)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>KRW (&#8361;)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>TWD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Japanese Yen</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 565,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 455,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,049<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Swiss Franc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">SFr 1,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,072<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">SFr 1,365<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,401<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">British Pound</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#163; 1,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,824<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#163; 1,650<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,232<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Hungarian Forint</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="nump">Ft 400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,576<span></span>
</td>
<td class="nump">Ft 545,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,110<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Taiwanese Dollar</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 43,000<span></span>
</td>
<td class="nump">1,480<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 37,725<span></span>
</td>
<td class="nump">1,278<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Korean Won</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8361; 655,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 616<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8361; 1,825,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,708<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssetNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payments on the derivative asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5579245-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5580258-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssetNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_JPY">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_JPY</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_CHF">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_CHF</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_GBP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_GBP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_HUF">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_HUF</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_TWD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_TWD</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_KRW">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_KRW</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6831108688">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Derivative asset</a></td>
<td class="nump">$ 4<span></span>
</td>
<td class="nump">$ 16<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="nump">18<span></span>
</td>
<td class="nump">13<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument | Prepaid Expenses and Other Current Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Derivative asset</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument | Accrued Expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument | Prepaid Expenses and Other Current Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Derivative asset</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">16<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument | Accrued Expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="nump">$ 18<span></span>
</td>
<td class="nump">$ 13<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41271-113958<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41228-113958<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13495-108611<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=82849420&amp;loc=SL20226008-175313<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=82849420&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13495-108611<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13433-108611<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41271-113958<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41228-113958<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=cgnx_AccruedExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=cgnx_AccruedExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6815673760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivative Instruments - Offsetting Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments and Hedging Activities Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeAsset', window );">Gross amounts of recognized assets</a></td>
<td class="nump">$ 4<span></span>
</td>
<td class="nump">$ 16<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset', window );">Gross amounts offset</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Net amount of assets presented</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">16<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeLiability', window );">Gross amounts of recognized liabilities</a></td>
<td class="nump">18<span></span>
</td>
<td class="nump">13<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset', window );">Gross amounts offset</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Net amount of liabilities presented</a></td>
<td class="nump">$ 18<span></span>
</td>
<td class="nump">$ 13<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to return cash collateral under master netting arrangements offset against derivative assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41228-113958<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41271-113958<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41228-113958<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13495-108611<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=82849420&amp;loc=SL20226008-175313<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFairValueOfDerivativeAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, before effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph (a),(c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624163-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=82849420&amp;loc=SL20226000-175313<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 860<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=82924980&amp;loc=SL51823488-111719<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFairValueOfDerivativeLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 860<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=82924980&amp;loc=SL51823488-111719<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph (a),(c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624163-113959<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=82849420&amp;loc=SL20226000-175313<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=82849420&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13495-108611<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13433-108611<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41271-113958<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41228-113958<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of right to receive cash collateral under master netting arrangements offset against derivative liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41228-113958<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6817951008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax', window );">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (44)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument | Accumulated Other Comprehensive Income (Loss), Net of Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet', window );">Gains (losses) recorded in shareholders' equity (effective portion)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument | Product Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet', window );">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(55)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument | Research, Development, and Engineering Expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet', window );">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument | Selling, General, and Administrative Expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet', window );">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">8<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument | Foreign Currency Gain (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet', window );">Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument | Foreign Currency Gain (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeGainLossOnDerivativeNet', window );">Gains (losses) recognized in current operations</a></td>
<td class="num">$ (310)<span></span>
</td>
<td class="num">$ (81)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeGainLossOnDerivativeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5618551-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (a),(c),(d),(e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeGainLossOnDerivativeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The effective portion of net gain (loss) reclassified from accumulated other comprehensive income into income on derivative instruments designated and qualifying as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624171-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624177-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of gains and losses (net) on derivative instruments designated and qualifying as hedging instruments representing (a) the amount of the hedge ineffectiveness and (b) the amount, if any, excluded from the assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624171-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 25<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1),(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6886632&amp;loc=d3e76258-113986<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The effective portion of gains and losses (net) on derivative instruments designated and qualifying as hedging instruments that was recognized in other comprehensive income during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e689-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph c<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=d3e41638-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CashFlowHedgingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CashFlowHedgingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SalesRevenueGoodsNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SalesRevenueGoodsNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ForeignCurrencyGainLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ForeignCurrencyGainLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6831311296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesRevenueNet', window );">Revenue</a></td>
<td class="nump">$ 169,567,000<span></span>
</td>
<td class="nump">$ 139,039,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenue</a></td>
<td class="nump">40,198,000<span></span>
</td>
<td class="nump">32,532,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross margin</a></td>
<td class="nump">129,369,000<span></span>
</td>
<td class="nump">106,507,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">34,596,000<span></span>
</td>
<td class="nump">37,216,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income before income tax expense</a></td>
<td class="nump">37,979,000<span></span>
</td>
<td class="nump">39,235,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense (benefit)</a></td>
<td class="nump">762,000<span></span>
</td>
<td class="num">(6,236,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperations', window );">Net income</a></td>
<td class="nump">$ 37,217,000<span></span>
</td>
<td class="nump">$ 45,471,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.21<span></span>
</td>
<td class="nump">$ 0.26<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 0.21<span></span>
</td>
<td class="nump">$ 0.25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">$ 26,068,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30,683,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Accrued income taxes</a></td>
<td class="nump">11,915,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,503,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueAndCreditsCurrent', window );">Deferred revenue and customer deposits</a></td>
<td class="nump">15,504,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,420,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">622,856,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">668,587,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">169,567,000<span></span>
</td>
<td class="nump">$ 139,039,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNet', window );">Costs to fulfill a contract</a></td>
<td class="nump">4,615,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,230,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ChangeInContractWithCustomerAssetAbstract', window );"><strong>Change in Contract with Customer, Asset [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance as of December 31, 2017</a></td>
<td class="nump">9,420,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice', window );">Increases to deferred revenue and customer deposits</a></td>
<td class="nump">11,751,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized', window );">Recognition of revenue</a></td>
<td class="num">(5,875,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice', window );">Foreign exchange rate changes</a></td>
<td class="nump">208,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance as of April 1, 2018</a></td>
<td class="nump">15,504,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductOrServiceAxis=cgnx_StandardProductsandServicesMember', window );">Standard products and services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">158,399,000<span></span>
</td>
<td class="nump">133,017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductOrServiceAxis=cgnx_ApplicationSpecificCustomerSolutionsMember', window );">Application-specific customer solutions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">11,168,000<span></span>
</td>
<td class="nump">6,022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementGeographicalAxis=cgnx_NorthAndSouthAmericaMember', window );">Americas</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">59,217,000<span></span>
</td>
<td class="nump">42,540,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementGeographicalAxis=us-gaap_EuropeMember', window );">Europe</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">56,203,000<span></span>
</td>
<td class="nump">43,107,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementGeographicalAxis=country_CN', window );">Greater China</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">27,159,000<span></span>
</td>
<td class="nump">22,706,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementGeographicalAxis=cgnx_AsiaExcludingChinaMember', window );">Other Asia</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 26,988,000<span></span>
</td>
<td class="nump">30,686,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementScenarioAxis=us-gaap_ScenarioPreviouslyReportedMember', window );">As previously reported</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesRevenueNet', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">134,942,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,225,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross margin</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">106,717,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37,426,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income before income tax expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,445,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense (benefit)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,210,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperations', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 45,655,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.26<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.26<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,800,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Accrued income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,391,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueAndCreditsCurrent', window );">Deferred revenue and customer deposits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,969,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">668,267,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementScenarioAxis=us-gaap_RestatementAdjustmentMember', window );">Adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesRevenueNet', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,097,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,307,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross margin</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(210,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(210,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income before income tax expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(210,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense (benefit)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(26,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperations', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (184,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (10)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(117,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Accrued income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">112,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueAndCreditsCurrent', window );">Deferred revenue and customer deposits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(549,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 320,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ChangeInContractWithCustomerAssetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ChangeInContractWithCustomerAssetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in estimate of transaction price which increases (decreases) right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time. Includes, but is not limited to, change in assessment of whether estimate of variable consideration is constrained.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=82913847&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130532-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82913847&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130531-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized arising from contract liability from change in timeframe for performance obligation to be satisfied.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=82913847&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in estimate of transaction price which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due. Includes, but is not limited to, change in assessment of whether estimate of variable consideration is constrained.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=82913847&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueAndCreditsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total carrying amount of consideration received or receivable as of the balance sheet date on potential earnings that were not recognized as revenue or other forms of income in conformity with GAAP, and which are expected to be recognized as such within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(b).Q1(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(b).Q2)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 13.A.Q4)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.4(a).Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(c).Q3)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueAndCreditsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=96948231&amp;loc=d3e4984-109258<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=96947427&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=96947427&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=96868048&amp;loc=SL4613673-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a),(b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 32<br> -Paragraph 2A<br> -URI http://asc.fasb.org/extlink&amp;oid=82859839&amp;loc=SL82860478-203043<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82913847&amp;loc=SL49130543-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82913847&amp;loc=SL49130539-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=82913847&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesRevenueNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total revenue from sale of goods and services rendered during the reporting period, in the normal course of business, reduced by sales returns and allowances, and sales discounts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesRevenueNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductOrServiceAxis=cgnx_StandardProductsandServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductOrServiceAxis=cgnx_StandardProductsandServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductOrServiceAxis=cgnx_ApplicationSpecificCustomerSolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductOrServiceAxis=cgnx_ApplicationSpecificCustomerSolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementGeographicalAxis=cgnx_NorthAndSouthAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementGeographicalAxis=cgnx_NorthAndSouthAmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementGeographicalAxis=us-gaap_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementGeographicalAxis=us-gaap_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementGeographicalAxis=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementGeographicalAxis=country_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementGeographicalAxis=cgnx_AsiaExcludingChinaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementGeographicalAxis=cgnx_AsiaExcludingChinaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementScenarioAxis=us-gaap_ScenarioPreviouslyReportedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementScenarioAxis=us-gaap_ScenarioPreviouslyReportedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementScenarioAxis=us-gaap_RestatementAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementScenarioAxis=us-gaap_RestatementAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6818758512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense (Detail)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>USD ($) </div>
<div>group </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Apr. 02, 2017 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Vestingperiodperformancebasedrestrictedstockyears', window );">Vesting period, performance-based restricted stock, years</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Vestingperiodtimebasedrestrictedstockyears', window );">Vesting period, time-based restricted stock, years</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_NumberOfGroupsWithinEmployeePopulation', window );">Groups within the employee population | group</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement', window );">Estimated annual forfeiture rate for unvested options for senior management</a></td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement', window );">Estimated annual forfeiture rate for unvested options for all other employees</a></td>
<td class="nump">12.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates', window );">Increase (decrease) to compensation expense</a></td>
<td class="nump">$ 1,283,000<span></span>
</td>
<td class="nump">$ 673,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-average grant-date fair values, in dollars per share | $ / shares</a></td>
<td class="nump">$ 21.62<span></span>
</td>
<td class="nump">$ 14.95<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue', window );">Total intrinsic value</a></td>
<td class="nump">$ 28,088,000<span></span>
</td>
<td class="nump">$ 53,043,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue', window );">Total fair values of stock options vest</a></td>
<td class="nump">25,674,000<span></span>
</td>
<td class="nump">17,987,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized compensation expense</a></td>
<td class="nump">$ 63,749,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition', window );">Weighted average period to be recognized</a></td>
<td class="text">2 years 7 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 13,194,000<span></span>
</td>
<td class="nump">7,483,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Tax benefit from compensation expense</a></td>
<td class="nump">2,347,000<span></span>
</td>
<td class="nump">$ 2,439,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount', window );">Recognized period costs capitalized</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=cgnx_GeneralStockOptionPlanMember', window );">General Stock Option Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period for stock option plans</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for grant under stock option plans | shares</a></td>
<td class="nump">10,160,452<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ExpirationPeriodOfStockOptionPlan', window );">Expiration period from grant day</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Employee service share based compensation recognized period costs capitalized amount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Estimated forfeiture rate for unvested options for all non-senior management.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Estimated forfeiture rate for unvested options for senior management.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ExpirationPeriodOfStockOptionPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expiration period of stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ExpirationPeriodOfStockOptionPlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (decrease) in compensation expense due to revised estimated forfeiture rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_NumberOfGroupsWithinEmployeePopulation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of groups within employee population.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_NumberOfGroupsWithinEmployeePopulation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options vested fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Shares based compensation arrangement by shares based payment award options exercisable intrinsic value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Vestingperiodperformancebasedrestrictedstockyears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Vesting period, performance-based restricted stock, years</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Vestingperiodperformancebasedrestrictedstockyears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Vestingperiodtimebasedrestrictedstockyears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Vesting period, time-based restricted stock, years</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Vestingperiodtimebasedrestrictedstockyears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=27013229&amp;loc=d3e301413-122809<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested share-based compensation awards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total recognized tax benefit related to compensation cost for equity-based payment arrangements recognized in income during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period which an employee's right to exercise an award is no longer contingent on satisfaction of either a service condition, market condition or a performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=cgnx_GeneralStockOptionPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=cgnx_GeneralStockOptionPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6818723744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Apr. 01, 2018 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Shares (in thousands)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, shares | shares</a></td>
<td class="nump">12,726<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Granted, shares | shares</a></td>
<td class="nump">2,043<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised, shares | shares</a></td>
<td class="num">(697)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Forfeited or expired, shares | shares</a></td>
<td class="num">(68)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, shares | shares</a></td>
<td class="nump">14,004<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable as of reporting date, shares | shares</a></td>
<td class="nump">4,879<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber', window );">Options vested or expected to vest as of reporting date, shares | shares</a></td>
<td class="nump">12,377<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted- Average Exercise Price</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, in dollars per share | $ / shares</a></td>
<td class="nump">$ 25.24<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted, in dollars per share | $ / shares</a></td>
<td class="nump">56.44<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised, in dollars per share | $ / shares</a></td>
<td class="nump">15.96<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Forfeited or expired, in dollars per share | $ / shares</a></td>
<td class="nump">25.84<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, in dollars per share | $ / shares</a></td>
<td class="nump">30.25<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share | $ / shares</a></td>
<td class="nump">19.88<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Options vested or expected to vest as of period end (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 28.99<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Outstanding, in years</a></td>
<td class="text">7 years 10 months 24 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Exercisable, in years</a></td>
<td class="text">6 years 6 months<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Options vested or expected to vest, in years</a></td>
<td class="text">7 years 9 months 18 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract', window );"><strong>Aggregate Intrinsic Value (in thousands)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Outstanding, in dollars | $</a></td>
<td class="nump">$ 317,169<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue', window );">Exercisable, in dollars | $</a></td>
<td class="nump">156,676<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Options vested or expected to vest, in dollars | $</a></td>
<td class="nump">$ 294,379<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)-(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)-(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Net number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84159872&amp;loc=d3e21463-112644<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6768010816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free rate</a></td>
<td class="nump">2.90%<span></span>
</td>
<td class="nump">2.40%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividend yield</a></td>
<td class="nump">0.32%<span></span>
</td>
<td class="nump">0.39%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">39.00%<span></span>
</td>
<td class="nump">41.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">5 years 3 months 18 days<span></span>
</td>
<td class="text">5 years 3 months 18 days<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expected term of share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=27013229&amp;loc=d3e301413-122809<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6818054448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Nonvested Restricted Stock Shares Activity (Details) - Restricted Stock<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Apr. 01, 2018 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Shares (in thousands)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Nonvested, shares | shares</a></td>
<td class="nump">20<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted, shares | shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested, shares | shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited or expired, shares | shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Nonvested, shares | shares</a></td>
<td class="nump">20<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted-Average Grant Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Nonvested, in dollars per share | $ / shares</a></td>
<td class="nump">$ 17.03<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted, in dollars per share | $ / shares</a></td>
<td class="nump">0.00<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested, in dollars per share | $ / shares</a></td>
<td class="nump">0.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited or expired, in dollars per share | $ / shares</a></td>
<td class="nump">0.00<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Nonvested, in dollars per share | $ / shares</a></td>
<td class="nump">$ 17.03<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract', window );"><strong>Aggregate Intrinsic Value (in thousands)(1)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested', window );">Nonvested as of April 1, 2018 | $</a></td>
<td class="nump">$ 1,040<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value of nonvested awards on equity-based plans excluding option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, revenue or profit achievement stock award plan) for which the employer is contingently obligated to issue equity instruments or transfer assets to an employee who has not yet satisfied service or performance criteria necessary to gain title to proceeds from the sale of the award or underlying shares or units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of equity-based compensation awards not vested. Excludes stock and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6830316272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 13,194<span></span>
</td>
<td class="nump">$ 7,483<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfGoodsTotalMember', window );">Cost of Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">797<span></span>
</td>
<td class="nump">430<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research, Development, and Engineering Expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">4,815<span></span>
</td>
<td class="nump">2,610<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=cgnx_SellingGeneralAndAdministrativeMember', window );">Selling, General, and Administrative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 7,582<span></span>
</td>
<td class="nump">$ 4,443<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=27013229&amp;loc=d3e301413-122809<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfGoodsTotalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfGoodsTotalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=cgnx_SellingGeneralAndAdministrativeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=cgnx_SellingGeneralAndAdministrativeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6818021952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchase Program (Detail) - USD ($)<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Feb. 28, 2018</div></th>
<th class="th"><div>Nov. 01, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Equity, Class of Treasury Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Authorized common stock to be repurchased</a></td>
<td class="nump">$ 200,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Stock repurchased during period, Value</a></td>
<td class="nump">$ 69,202,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramApril2017Member', window );">Repurchase Program April 2017</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Equity, Class of Treasury Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Authorized common stock to be repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased', window );">Number of shares repurchased</a></td>
<td class="nump">1,744<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_StockRepurchaseProgramValue', window );">Value of shares repurchased</a></td>
<td class="nump">$ 100,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="nump">803<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Stock repurchased during period, Value</a></td>
<td class="nump">$ 45,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramFebruary2018Member', window );">Repurchase Program February 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Equity, Class of Treasury Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Authorized common stock to be repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 150,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="nump">453<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Stock repurchased during period, Value</a></td>
<td class="nump">$ 24,002,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1', window );">Remaining authorized purchase amount</a></td>
<td class="nump">125,998,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramApril2017andFebruary2018Member', window );">Repurchase Program April 2017 and February 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Equity, Class of Treasury Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Stock repurchased during period, Value</a></td>
<td class="nump">$ 69,202,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stock Repurchase Program, Aggregate Number of Shares Repurchased</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_StockRepurchaseProgramValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stock Repurchase Program, Value</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_StockRepurchaseProgramValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityClassOfTreasuryStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityClassOfTreasuryStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount remaining of a stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84159872&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84159872&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramApril2017Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramApril2017Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramFebruary2018Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramFebruary2018Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramApril2017andFebruary2018Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramApril2017andFebruary2018Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6658502896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax provision at federal statutory corporate tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income taxes, net of federal benefit</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Foreign tax rate differential</a></td>
<td class="num">(7.00%)<span></span>
</td>
<td class="num">(18.00%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits', window );">Tax credit</a></td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent', window );">Discrete tax benefit related to stock option exercises</a></td>
<td class="nump">13.00%<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">Other discrete tax events</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Income tax provision</a></td>
<td class="nump">2.00%<span></span>
</td>
<td class="num">(16.00%)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6832406864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 01, 2018</div></th>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IncomeTaxLineItems', window );"><strong>Income Tax [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax provision at federal statutory corporate tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Foreign tax rate differential</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent', window );">Discrete tax benefit related to stock option exercises</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13.00%<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear', window );">Increase in reserves for income taxes, net of deferred tax benefit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 484<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IncreaseDecreaseInterestAndPenalties', window );">Interest and penalties included in reserve</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">70<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_LiabilityForUncertainTaxPositions', window );">Liability for uncertain tax positions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,986<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Reserve for income taxes classified as a noncurrent iability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,958<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,488<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets', window );">Reserve for income taxes classified an noncurrent deferred tax assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,028<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued', window );">Interest and penalties, gross</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">847<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves', window );">Minimum decrease in income tax expense due to release in reserves</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves', window );">Maximum decrease in income tax expense due to release in reserves</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_TaxyearsopentoexaminationbyInternalRevenueService', window );">Tax years open to examination by Internal Revenue Service</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2014 through 2017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities', window );">Tax years open to examination by various taxing authorities for other entities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2013 through 2017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201616Member', window );">Accounting Standards Update 2016-16</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IncomeTaxLineItems', window );"><strong>Income Tax [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1', window );">Cumulative effect on retained earnings</a></td>
<td class="nump">$ 5,961<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign tax authority | Ireland</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IncomeTaxLineItems', window );"><strong>Income Tax [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax provision at federal statutory corporate tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign tax authority | China</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IncomeTaxLineItems', window );"><strong>Income Tax [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax provision at federal statutory corporate tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The tax year(s) being audited in connection with the income tax examination for other entities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_IncomeTaxLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>[Line Items] for Income Tax [Table]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_IncomeTaxLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_IncreaseDecreaseInterestAndPenalties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase decrease interest and penalties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_IncreaseDecreaseInterestAndPenalties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_LiabilityForUncertainTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Liability for uncertain tax positions, total.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_LiabilityForUncertainTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum decrease in income tax expense due to release in reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum decrease in income tax expense due to release in reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_TaxyearsopentoexaminationbyInternalRevenueService">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tax years open to examination by Internal Revenue Service</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_TaxyearsopentoexaminationbyInternalRevenueService</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets as a result of net operating loss carryforward, a similar tax loss, or a tax credit carryforward.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the cumulative effect on retained earnings net of related income tax effect.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=64853466&amp;loc=d3e22663-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount the liability recorded for the income tax examination increased or decreased in the current year/accounting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201616Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201616Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_RevenueCommissionersIrelandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_RevenueCommissionersIrelandMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_StateAdministrationOfTaxationChinaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_StateAdministrationOfTaxationChinaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6802637520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic weighted-average common shares outstanding</a></td>
<td class="nump">173,280<span></span>
</td>
<td class="nump">172,646<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Effect of dilutive stock options</a></td>
<td class="nump">6,361<span></span>
</td>
<td class="nump">5,708<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted-average common and common-equivalent shares outstanding</a></td>
<td class="nump">179,641<span></span>
</td>
<td class="nump">178,354<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=96947427&amp;loc=d3e1505-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=96947427&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6811055664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted-Average Shares (Detail) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2018</div></th>
<th class="th"><div>Apr. 02, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Stock options to purchase anti-dilutive common stock</a></td>
<td class="nump">1,339,000<span></span>
</td>
<td class="nump">1,648,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.8.0.1</span><table class="report" border="0" cellspacing="2" id="idp6829933840">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Subsequent Events (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Apr. 30, 2018</div></th>
<th class="th"><div>Apr. 25, 2018</div></th>
<th class="th"><div>Apr. 01, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Authorized common stock to be repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 200,000,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Authorized common stock to be repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 300,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Dividends (in dollars per share)</a></td>
<td class="nump">$ 0.045<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendPayableDateToBePaidDayMonthAndYear', window );">Dividends payable, date payable</a></td>
<td class="text">Jun.  01,  2018<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear', window );">Dividends payable, date of record</a></td>
<td class="text">May 18,  2018<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_GeneralStockOptionPlanMember', window );">General Stock Option Plan | Subsequent Event</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Authorized common stock to be repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendPayableDateToBePaidDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date the declared dividend will be paid, in CCYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendPayableDateToBePaidDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date the holder must own the stock to be entitled to the dividend, in CCYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableDateOfRecordDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_GeneralStockOptionPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareRepurchaseProgramAxis=cgnx_GeneralStockOptionPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/**
 * Rivet Software Inc.
 *
 * @copyright Copyright (c) 2006-2011 Rivet Software, Inc. All rights reserved.
 * Version 2.4.0.3
 *
 */

var Show = {};
Show.LastAR = null,

Show.hideAR = function(){
	Show.LastAR.style.display = 'none';
};

Show.showAR = function ( link, id, win ){
	if( Show.LastAR ){
		Show.hideAR();
	}

	var ref = link;
	do {
		ref = ref.nextSibling;
	} while (ref && ref.nodeName != 'TABLE');

	if (!ref || ref.nodeName != 'TABLE') {
		var tmp = win ?
			win.document.getElementById(id) :
			document.getElementById(id);

		if( tmp ){
			ref = tmp.cloneNode(true);
			ref.id = '';
			link.parentNode.appendChild(ref);
		}
	}

	if( ref ){
		ref.style.display = 'block';
		Show.LastAR = ref;
	}
};

Show.toggleNext = function( link ){
	var ref = link;

	do{
		ref = ref.nextSibling;
	}while( ref.nodeName != 'DIV' );

	if( ref.style &&
		ref.style.display &&
		ref.style.display == 'none' ){
		ref.style.display = 'block';

		if( link.textContent ){
			link.textContent = link.textContent.replace( '+', '-' );
		}else{
			link.innerText = link.innerText.replace( '+', '-' );
		}
	}else{
		ref.style.display = 'none';

		if( link.textContent ){
			link.textContent = link.textContent.replace( '-', '+' );
		}else{
			link.innerText = link.innerText.replace( '-', '+' );
		}
	}
};
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>75
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    (  B!GDP?(\\#P    !,"   +    7W)E;',O+G)E;'.MDD^+
MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V
M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F'
M.>RGGD7E2B.5^S3%":4A+<TXP)6E/S/WJVR;A5ND9T*YKCM+1[873T$7LF<;
M!I99-G\LCNVW<+ZT+/0:S>,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C
M-R."?S]PN -02P,$%     @ "(&>3&;S"V""    L0   !    !D;V-0<F]P
M<R]A<' N>&UL38Y-"\(P$$3_2NG=;BGB06) L$?!D_>0;FP@R8;-"OGYIH(?
MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/
M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+""
MWTG] E!+ P04    "  (@9Y,2U0W.N\    K @  $0   &1O8U!R;W!S+V-O
M<F4N>&ULS9)12\,P$,>_BN2]O:0=4T+7%\4G!<&!XEM(;EM8TX3DI-VWMXU;
MA^@'\#%W__SN=W"-#E+[B"_1!XQD,=V,KNN3U&'##D1! B1]0*=2.27ZJ;GS
MT2F:GG$/0>FCVB-4G*_!(2FC2,$,+,)"9&UCM-01%?EXQAN]X,-G[#+,:, .
M'?:40)0"6#M/#*>Q:^ *F&&$T:7O IJ%F*M_8G,'V#DY)KNDAF$HASKGIAT$
MO#\_O>9U"]LG4KW&Z5>RDDX!-^PR^:V^?]@^LK;BXJ[@JZ+F6[&6_%96JX_9
M]8??5=AY8W?V'QM?!-L&?MU%^P502P,$%     @ "(&>3)E<G",0!@  G"<
M !,   !X;"]T:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T
M$W-I=MNTF83M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY
M\^XN8NB&B)3R>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2
MP]R"BPA+>!3+UES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?
M,_@5RU2-9:,!$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA
M5,+$P&IG/U9KQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M
M&N#C\7@XMLO2BW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_K
MFVB<"HU;3]-K=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K
M>A(5M>5 TR  6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T
M1G*=D 4. #?$T4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)
MI#-ZG7TZSFN4?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R
M.AQG0GS/]O:1I24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG
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
MA-(X&K/_:)Y-Z>$=$Q]C9\NV_XUVE];9:O3BJ53YK^%9U/WS.OI_,:,-8#2
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
MG_Y_YAN#G6R@[)G7 ,)Y:4G'<[<6HM\CQ,L:6LPWM(=.KEPH:[&00W9%O&>
M*VUJ"0H\+T$M;CJWR/3<B149O0G2='!B#K^U+6:_#D#HD+N^^SKQU%QKH290
MD?7X"E]!?.M/3([0%*5J6NAX0SN'P25WW_G[8ZKT6O"]@8'/^HZJY$SILQI\
MJG+74T! H!0J I;-'8Y B HD,7Z.,=TII3+.^Z_1/^C:92UGS.%(R8^F$G7N
M;EVG@@N^$?%$AX\PUA.[SEC\9[@#D7)%(G.4E'#]ZY0W+F@[1I$H+7XQ;=/I
M=C KR6ZTV0W!: @F@Q_]TQ".AG!A0(9,E_H>"UQDC X.,R^KQ^J;\/>AW,Q2
M3>J]TVNR6BYG[\4NRM!=Q1DE!R,)9I(@>)0<UY+DCP1)@(DBL%($VA_.*6*[
M/[3Z0^V/YOYD4861I%K2:8F?)(M2CQ91G&SM))&5)%J3I L2(]G-DG@;SUMN
MZ?]4#RRQE25>LVP7+$82S[+("\ \"YZW*!^8$BM3LF;:+9B2528_#7;1=LUD
M4X:QE_Z5*;4RI2LF?YGJD+X9RJ:T0Z'9(567YA?,KDW'G3,5\KSK4WFA5(",
MZFUDP%K>T]. P$6H;BK[S-Q69B!H/U[$:/HW*'X#4$L#!!0    (  B!GDS1
M<$\VM@0  ,@6   8    >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL?9A1C^HV
M$(7_"N*=2SR3Q/&*15JHJE9JI=6MVCYGP;N@&PA-LLOMOZ\3LER8.>[+DF2/
MQV<<^_/$BW/=?&MWWG>3[X?JV#Y.=UUW>IC/V\W.'\KV2WWRQ_"?U[HYE%VX
M;=[F[:GQY79H=*CFE"3Y_%#NC]/E8GCVW"P7]7M7[8_^N9FT[X=#V?R[\E5]
M?IR:Z>>#K_NW7=<_F"\7I_+-_^&[/T_/3;B;7Z-L]P=_;/?U<=+XU\?IDWE8
ML^L;#(J_]O[<WEQ/^E1>ZOI;?_/K]G&:](Y\Y3=='Z(,/Q]^[:NJCQ1\_#,&
MG5[[[!O>7G]&_WE(/B3S4K9^75=_[[?=[G%:3"=;_UJ^5]W7^OR+'Q/*II,Q
M^]_\AZ^"O'<2^MC453O\G6S>VZX^C%&"E4/Y_?*[/PZ_YS'^9S/<@,8&=&T0
M^OZ_!CPVX!\-TB'YB[,AU9_*KEPNFOH\:2YOZU3VD\(\<!C,3?]P&+OA?R';
M-CS]6)K$+.8??:!1L[IHZ%9S5<Q#]&L7A+I8D6I.=-_#&D@8=\$P"Q[:\UT6
MA .D,$ Z!$AO G N1N$BL8/D>)%8,E9DHE5IEMK(>&702P:2B8Q&#@/D*AF3
MI"*;BR:[\6G8.*%::Y5-BX@7"[U8X"437JSJ)4TY$5:TB).8E0):*8 5^9(+
MG7#NA!.M*6QDLCEHQ $C8AZMG.HD$U[76E+DV(9)\-I/@)%"+OY$=3-3ZQ>)
M\BQB)@(B \PX:<;H?M)4N0$JLC$[$%I/AK0=DT@[I#LRJ9HP0.8H@@2# 6<
MX4PL!$:<T8PSAF1&J;)*8<7+Q0AD85)P$3&$.6<R92B7RV#4W"U[+M0 :Y7+
M(FPPF)E&0S-72T'C,,PK)B/M %W&T<6)P6DT.>7$6AD-Q5F12TX@E:$TCTT?
M3$^C\6F5'XW&C.4B7@.5-3=O_MX-1JC1#"W4ZM2 G#E'<L=&,F87F<N$44H:
MI84LHTA#TA3R90$1N\C8$"8I:9(6<IV31F166#DT4,4NX@:#E!!(6=H!($U)
M5B-(93F-V,$@)09V9'$TBN[R3JU^5UJ66FLB&PUA+%,*R!X+@4%*&J3&R,J&
M-"-GQA1JPU]#H>/<1&H<PD E4(7*:GE%H P-M1^KB0AT@1DQ:!!&*H%BU$C(
M$Z(EDY5;(-+EB8N].0Q5 C6ID50ES4ME1DMFQD8V',)()5"6DF0J:5@J+X"G
MY"*;#6.<,JA,Y3:[8L!3<IG<;H!L1D661.8.8ZBRT<N4(BN",0D9D) D"5DS
M+A1Z4K8&LC#&,31SY*L9L%!"=\4:<K/<42*+;J3C)(DM4<8T9%"DDOQ>9%!]
M6EM(:"!9GL8V4\9L9<!6DFQE@,P\TY48TMF4(LQ@#%8&8)5%S8H!,&\_&$8_
M0)4DD0V5,5090)4D5%G#DIR3Y "JD%D1>V$8J0R02A*IK'EIDO#&U*0&I:K+
MTQC,,%@9@%5^4:U&D;USY#*K'&F=HY1DM3J_.?\[^.9M."IM)YOZ_=CU!VTW
M3Z_'L4_4GQ^*YROSL+X<JOX(<SGC_;ULWO;'=O)2=UU]&,X07^NZ\\%E\B6,
MV,Z7V^M-Y5^[_M*&Z^9RMGJYZ>K3>&X\OQY>+_\#4$L#!!0    (  B!GDQF
MRCIM3@,  -8-   8    >&PO=V]R:W-H965T<R]S:&5E=#@N>&ULC5?O;YLP
M$/U7$-]3_ /;4"61UK31)FU2M6G;9YHX"2K@#&C3_?<SA-+8=TGV)6#R[MV[
M\_& Z<'4S\U.ZS9X*XNJF86[MMW?1E&SVNDR:V[,7E?VGXVIRZRURWH;-?M:
M9^L^J"PB1HB,RBROPOFTO_98SZ?FI2WR2C_60?-2EEG]]TX7YC +:?A^X7N^
MW;7=A6@^W6=;_4.W/_>/M5U%(\LZ+W75Y*8*:KV9A9_H[9(F74"/^)7K0W-R
M'G2E/!GSW"V^K&<AZ13I0J_:CB*SAU>]T$71,5D=?P;2<,S9!9Z>O[,O^^)M
M,4]9HQ>F^)VOV]TL3,)@K3?92]%^-X?/>BA(A,%0_5?]J@L+[Y38'"M3-/UO
ML'II6E,.+%9*F;T=CWG5'P\#_WL8'L"& #8&4'8Q@ \!_". 7PR(AX!X#&#J
M8H 8 L1'AN1B@!P"Y!C ^PS1L5E]]^^S-IM/:W,(ZN, [;-N3NFMM/N[ZB[V
MV]G_9S>@L5=?YY33:?3:$0V8NR.&.1CF8A88AKN8>PP3NY@'#"-<S!+#R!$3
MV7K'HAE:-.L)N$.@< *.$O">('8($J]K1XSJ,56/F8A4>KU]N(9RQ,2HF!@1
MDWIBCAAQDH8J+HCR=O$JS)$C4#D"RHF))T> JBE)A53>Q"P@CL>>YGN(B:6=
M/6\['@0H3<I$)![;$K)->"S2%.^ 1#L@_W^\%$J@D!9Z@[-0L)[T3)($39+
M),SK_UT"YX$"U"*!N^GM$<[#<+DI*C=%>N*;4 K23"@39ZR!$MP0"=*7V'=$
M C/)E!'@B@2.$_,=[PP7.2/[C(]3*)L V13N Z=I[/OT-9@K"/=8RI ^"E\0
M@[4KY=^4#U=AKB#<LRDT[9.GQJ"'@T1<,0KT7(.Y>G#;IHAOQ_X-2*$C3RA-
MO1E:7H6Y@G#CIIAS@Q&"/CIA0,YED"L&]U J$3%@?"3T?B*DKT8"-0[*E8,[
M,L4L&4P/]&2J6!HGOBM<Q;F2</^FB('[#\<[BG@S48JDJ:\) KE?X#T"BA,A
M!7B)@SC)6 )W!N(FG"KAWTC1R=ML]\7S+:NW>=4$3Z:U+\;]Z^O&F%9;3G)C
MV[JS'UGCHM";MCM5]KP^?FD<%ZW9#U]1T?@I-_\'4$L#!!0    (  B!GDPX
MJ@Z0W $  &($   8    >&PO=V]R:W-H965T<R]S:&5E=#DN>&UL?51;;YLP
M%/XKEM]7!T/7)@*D)E6U29L4==KV[,#AHOK";!.Z?S_;$$I3M)?8Y_!]W[GX
MG*2#TB^F ;#H57!I,MQ8V^T(,44#@ID;U8%T7RJE!;/.U#4QG096!I+@A&XV
MGXE@K<1Y&GQ'G:>JM[R5<-3(]$(P_7</7 T9CO#%\=S6C?4.DJ<=J^$'V)_=
M43N+S"IE*T":5DFDH<KP0[0[)!X? +]:&,SBCGPE)Z5>O/&US/#&)P0<"NL5
MF#O.< #.O9!+X\^DB>>0GKB\7]2?0NVNEA,S<%#\=UO:)L/W&)50L9[;9S5\
M@:F>6XRFXK_!&;B#^TQ<C$)Q$WY1T1NKQ*3B4A'L=3Q;&<YATK_0U@ET(M"9
MX&+_CQ!/A/B-$+I)QLQ"J8_,LCS5:D!Z?*R.^9F(=K%K9N&=H7?AFZO6..\Y
MCY+[E)R]T(39CQBZQ,P(XM3G$'0MQ)Y^H%/Z/L)A!1*OAXA7JX@#/WY7Q79=
M(%D52() LA"XW5YU883<!8@,D$]1E%P5\A&TI5=YD,73"-!UF&*#"M5+ZWNP
M\,Z+\D#]TU[Y]VZ!QGE_DQFW[SO3=2L-.BGK!B<\;Z64!9?AYL:-=.,6?C8X
M5-9?[]Q=CV,_&E9UTT:3^6\E_P=02P,$%     @ "(&>3,&I?M:S 0  TP,
M !D   !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL?5/1;IPP$/P5RQ\0<SZ2
M1B= RJ6J$JF53JG://M@ 2LV2VQSI']?VQ!*6]H7[%UF9F?M=3:B>;$M@"-O
M6G4VIZUS_8$Q6[:@A;W"'CK_IT:CA?.A:9CM#8@JDK1B/$ENF!:RHT46<R=3
M9#@X)3LX&6('K87Y<02%8TYW]#WQ))O6A00KLEXT\!7<M_YD?,06E4IJZ*S$
MCABH<WJW.QS3@(^ [Q)&N]J3T,D9\24$CU5.DV (%)0N* B_7. >E I"WL;K
MK$F7DH&XWK^K?XJ]^U[.PL(]JF=9N3:GMY144(M!N2<<'V#NYYJ2N?G/< 'E
MX<&)KU&BLO%+RL$ZU+.*MZ+%V[3*+J[C]"?=S[1M I\)?"'<QCIL*A2=?Q1.
M%)G!D9CI['L1KGAWX/YLRI",1Q'_>?/69R_%[CK)V"4(S9CCA.%KS()@7GTI
MP;=*'/E?=,ZW^?M-B_O(W_]F\1\&TDV!- JD_^UQ"_.G2[8Z5 VFB>-D28E#
M%T=YE5TF]H['2_D%G\;]BS"-["PYH_-7&R^@1G3@K217?H9:_\*60$'MPO:#
MWYMISJ; 83\_(;:\X^(G4$L#!!0    (  B!GDQN&DAUL0$  -,#   9
M>&PO=V]R:W-H965T<R]S:&5E=#$Q+GAM;'U386^;,!#]*Y9_0)TXI*LB0&I:
M59NT25&G;9\=.,"JC:EM0OOO=S:$L0[M"_8=[[U[9Y_3P=@7UP!X\J95ZS+:
M>-\=&'-% UJX&]-!BW\J8[7P&-J:N<Z"*"-)*\8WFUNFA6QIGL;<R>:IZ;V2
M+9PL<;W6PKX?09DAHUMZ33S+NO$AP?*T$S5\!_^C.UF,V*Q22@VMDZ8E%JJ,
MWF\/QR3@(^"GA,$M]B1T<C;F)01?RHQN@B%04/B@('"YP ,H%830QNND2>>2
M@;C<7]6?8N_8RUDX>##JERQ]D]$[2DJH1*_\LQD^P]3/GI*I^:]P 87PX 1K
M%$:Y^"5%[[S1DPI:T>)M7&4;UV'2O]+6"7PB\ \$-A:*SA^%%WEJS4#L>/:=
M"%>\/7 \FR(DXU'$?VC>8?:2;_>[E%V"T(0YCAB^Q,P(ANIS";Y6XLC_H7.^
MSM^M6MQ%_NXOB\FZ0+(JD$2!Y+\]KF'V'XJPQ:%JL'4<)T<*T[=QE!?9>6+O
M>;R4/_!QW+\)6\O6D;/Q>+7Q BIC/*"5S0W.4(,O; X45#YL/^'>CG,V!MYT
MTQ-B\SO.?P-02P,$%     @ "(&>3&(AL>&U 0  TP,  !D   !X;"]W;W)K
M<VAE971S+W-H965T,3(N>&UL?5/1;IPP$/P5RQ\0W_E(<CH!4BY1E$JM=$K4
M]MD'"UBQ,;'-D?Y]UH90VJ*^8.\R,SMKK]/!V%?7 'CRKE7K,MIXWQT8<T4#
M6K@KTT&+?RICM? 8VIJYSH(H(TDKQC>;&Z:%;&F>QMS)YJGIO9(MG"QQO=;"
M_CJ",D-&M_0S\2SKQH<$R]-.U/ "_GMWLABQ6:64&EHG34LL5!F]VQZ.2<!'
MP \)@UOL2>CD;,QK"+Z4&=T$0Z"@\$%!X'*!>U J"*&-MTF3SB4#<;G_5'^,
MO6,O9^'@WJB?LO1-1O>4E%")7OEG,SS!U,\U)5/S7^$""N'!"=8HC'+Q2XK>
M>:,G%;2BQ?NXRC:NP_AGETRT=0*?"'PF[&,=-A:*SA^$%WEJS4#L>/:="%>\
M/7 \FR(DXU'$?VC>8?:2;Z]O4G8)0A/F.&+X$C,C&*K/)?A:B2/_A\[Y.G^W
M:G$7^;L_+-ZN"R2K DD42/[;XQIF_U<1MCA4#;:.X^1(8?HVCO(B.T_L'8^7
M\AL^COLW86O9.G(V'J\V7D!EC >TLKG"&6KPA<V!@LJ'[2WN[3AG8^!--STA
M-K_C_ -02P,$%     @ "(&>3'3U&0*T 0  TP,  !D   !X;"]W;W)K<VAE
M971S+W-H965T,3,N>&UL?5/MCIP@%'T5P@,L#N-.MQ,UV=FF:9,VF6S3[6]&
MKTH6Q *.V[?O!1UK6M,_P+V<<^X'EVPT]M6U )Z\:=6YG+;>]T?&7-F"%N[.
M]-#A36VL%AY-VS#76Q!5)&G%>)(<F!:RHT46?6=;9&;P2G9PML0-6@O[ZP3*
MC#G=T9OC63:M#PY69+UHX!OX[_W9HL46E4IJZ)PT';%0Y_1Q=SRE 1\!+Q)&
MMSJ34,G%F-=@?*YRFH2$0$'I@X+ [0I/H%00PC1^SIIT"1F(Z_--_6.L'6NY
M" =/1OV0E6]S^D!)!;48E'\VXR>8Z[FG9"[^"UQ!(3QD@C%*HUQ<23DX;_2L
M@JEH\3;MLHO[.-VD-]HV@<\$OA >(H%-@6+F'X0716;-2.S4^UZ$)]X=.?:F
M#,[8BGB'R3OT7HO=_?N,78/0C#E-&+[&+ B&ZDL(OA7BQ/^A<[[-WV^FN(_\
M_3K\(=D62#<%TBB0_K?&#<SA[RK9JJD:;!/'R9'2#%T<Y95WF=A''A_E#WP:
M]Z_"-K)SY&(\/FU\@-H8#YA*<H<SU.(/6PP%M0_'=WBVTYQ-AC?]_(78\H^+
MWU!+ P04    "  (@9Y,!HWTT;8!  #1 P  &0   'AL+W=O<FMS:&5E=',O
M<VAE970Q-"YX;6Q]4]N.VR 0_17$!RPQ3M,HLBUMMJI:J96BK=I])O;XH@7&
M!1QO_[Z O:[5=?L"S'#.F0M#-J)YMBV (R]*:IO3UKG^Q)@M6U#"WF$/VM_4
M:)1PWC0-L[T!4462DHSO=@>F1*=ID47?Q109#DYV&BZ&V$$I87Z=0>*8TX2^
M.AZ[IG7!P8JL%PU\ _>]OQAOL46EZA1HVZ$F!NJ<WB>G\S[@(^!'!Z-=G4FH
MY(KX'(S/54YW(2&04+J@(/QV@P>0,@CY-'[.FG0)&8CK\ZOZQUB[K^4J+#R@
M?.HJU^;T2$D%M1BD>\3Q$\SUO*-D+OX+W$!Z>,C$QRA1VKB2<K .U:SB4U'B
M9=H['?=QNDGY3-LF\)G %\(QQF%3H)CY!^%$D1D<B9EZWXOPQ,F)^]Z4P1E;
M$>]\\M9[;\7AF+%;T)DAYPG"5Y!D03 OOD3@6Q'._ V=\VU^NIEA&OGI.OSA
M'P+[38%]%-C_K\2WD.20_A6#K5JJP#1QF"PI<=!QD%?>95[OXQNR/_!IV+\*
MTW3:DBLZ_["Q_36B Y_*[LY/4.O_UV)(J%TXOO=G,TW99#CLYP_$EE]<_ 90
M2P,$%     @ "(&>3&_^<]BU 0  TP,  !D   !X;"]W;W)K<VAE971S+W-H
M965T,34N>&UL?5-A;YLP$/TKEG] G3@DJR) :CI-F[1*4:>MGQTXP*K-,=N$
M]M_/-I31#NT+]AWOO7MGG],!S;-M !QYT:JU&6V<ZXZ,V:(!+>P-=M#Z/Q4:
M+9P/3<UL9T"4D:05XYO-@6DA6YJG,7<V>8J]4[*%LR&VUUJ8UQ,H'#*ZI6^)
M1UDW+B18GG:BAA_@?G9GXR,VJY120VLEML1 E=&[[?&4!'P$_)(PV,6>A$XN
MB,\A^%9F=!,,@8+"!07AERO<@U)!R-OX/6G2N60@+O=OZE]B[[Z7B[!PC^I)
MEJ[)Z"TE)52B5^X1AZ\P];.G9&K^.UQ!>7APXFL4J&S\DJ*W#O6DXJUH\3*N
MLHWK,/[9[R;:.H%/!#X3;F,=-A:*SC\+)_+4X$#,>/:="%>\/7)_-D5(QJ.(
M_[QYZ[/7?'M(4G8-0A/F-&+X$C,CF%>?2_"U$B?^#YWS=?YNU>(N\G?O+.[7
M!9)5@20*)/_M<0US^%"$+0Y5@ZGC.%E28-_&45YDYXF]X_%2_L+'<7\0II:M
M)1=T_FKC!52(#KR5S8V?H<:_L#E04+FP_>3W9IRS,7#834^(S>\X_P-02P,$
M%     @ "(&>3-I.6DRU 0  TP,  !D   !X;"]W;W)K<VAE971S+W-H965T
M,38N>&UL?5/1;IPP$/P5RQ\0W_EH<CT!4BY5U4B)=$K5]MD'"UBQ,;7-D?Q]
MUX90FJ"^8.\R,SMKK]/!V&?7 'CRHE7K,MIXWQT8<T4#6K@KTT&+?RICM? 8
MVIJYSH(H(TDKQC>;:Z:%;&F>QMS)YJGIO9(MG"QQO=;"OAY!F2&C6_J6>))U
MXT."Y6DG:O@._D=WLABQ6:64&EHG34LL5!F]W1Z.2<!'P$\)@UOL2>CD;,QS
M".[+C&Z"(5!0^* @<+G '2@5A-#&[TF3SB4#<;E_4_\:>\=>SL+!G5&_9.F;
MC.XI*:$2O?)/9O@&4S^?*)F:?X +*(0')UBC,,K%+REZYXV>5-"*%B_C*MNX
M#N.?A$^T=0*?"'PF[&,=-A:*SK\(+_+4FH'8\>P[$:YX>^!X-D5(QJ.(_]"\
MP^PEWU[?I.P2A";,<<3P)69&,%2?2_"U$D?^@<[Y.G^W:G$7^;M_+.[7!9)5
M@20*)/_M<0WS^5T1MCA4#;:.X^1(8?HVCO(B.T_L;;Q%]A<^CONCL+5L'3D;
MCU<;+Z RQ@-:V5SA##7XPN9 0>7#]@;W=IRS,?"FFYX0F]]Q_@=02P,$%
M  @ "(&>3-=S +JT 0  TP,  !D   !X;"]W;W)K<VAE971S+W-H965T,3<N
M>&UL?5/M;MP@$'P5Q ,$'W=-3B?;4BY1U4J-=$K4]C=GKS\48%W Y^3M ]AQ
MW=;-'\.N9V9G84D'-,^V 7#D14EM,]HXUQT8LT4#2M@K[$#[/Q4:)9P/3<UL
M9T"4D:0DXTERS91H-<W3F#N9/,7>R5;#R1#;*R7,ZQ$D#AG=T/?$8ULW+B18
MGG:BAB=PW[N3\1&;5<I6@;8M:F*@RNCMYG#<!7P$_&AAL(L]"9V<$9]#\+7,
M:!(,@83"!07AEPO<@91!R-OX-6G2N60@+O?OZI]C[[Z7L[!PA_)G6[HFHWM*
M2JA$+]TC#E]@ZN<3)5/SW^ "TL.#$U^C0&GCEQ2]=:@F%6]%B9=Q;75<A_'/
M]7ZBK1/X1. S81_KL+%0='XOG,A3@P,QX]EW(ESQYL#]V10A&8\B_O/FK<]>
M\LU-DK)+$)HPQQ'#EY@9P;SZ7(*OE3CR?^B<K_.WJQ:WD;_]P^)_#.Q6!791
M8/=ACVN8OUVRQ:$J,'4<)TL*['4<Y45VGMA;'B_E-WP<]P=AZE9;<D;GKS9>
M0(7HP%M)KOP,-?Z%S8&$RH7MC=^;<<[&P&$W/2$VO^/\#5!+ P04    "  (
M@9Y,K;!HA[4!  #3 P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6Q]
M4]%NG# 0_!7+'Q#?^4@N.@%2+E'52JUT2M7FV0<+6+$QL<V1_GW7AA"2HKY@
M[S(S.VNOT\'89]< >/*J5>LRVGC?'1AS10-:N"O308M_*F.U\!C:FKG.@B@C
M22O&-YL;IH5L:9[&W,GFJ>F]DBV<+'&]UL+^.8(R0T:W]"WQ*.O&AP3+TT[4
M\!/\K^YD,6*S2BDUM$Z:EEBH,GJW/1R3@(^ WQ(&M]B3T,G9F.<0?"LSN@F&
M0$'A@X+ Y0+WH%000ALODR:=2P;B<O^F_B7VCKV<A8-[HYYDZ9N,WE)20B5Z
MY1_-\!6F?JXIF9K_#A=0" ].L$9AE(M?4O3.&SVIH!4M7L=5MG$=QC_)?J*M
M$_A$X#/A-M9A8Z'H_$%XD:?6#,2.9]^)<,7; \>S*4(R'D7\A^8=9B_Y=K]+
MV24(39CCB.%+S(Q@J#Z7X&LECOP?.N?K_-VJQ5WD[SY83-8%DE6!) HD_^UQ
M#7/]J0A;'*H&6\=Q<J0P?1M'>9&=)_:.QTMYAX_C_D/86K:.G(W'JXT74!GC
M :ULKG"&&GQA<Z"@\F&[Q[T=YVP,O.FF)\3F=YS_!5!+ P04    "  (@9Y,
M7"VOG;4!  #3 P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q.2YX;6Q]4UMN
MVS 0O K! X0VK<:&(0F(4Q0IT )&@C;?M+1Z('PH)&6EM\^24E2U%?HC<E<S
ML[/D,AV,?7$-@"=O2FJ7T<;[[LB8*QI0PMV8#C3^J8Q5PF-H:^8Z"Z*,)"49
MWVQNF1*MIGD:<V>;IZ;WLM5PML3U2@G[ZP32#!G=TH_$8ULW/B18GG:BAB?P
M/[JSQ8C-*F6K0+O6:&*ARNC=]GA* CX"?K8PN,6>A$XNQKR$X&N9T4TP!!(*
M'Q0$+E>X!RF#$-IXG33I7#(0E_L/]2^Q=^SE(AS<&_G<EK[)Z(&2$BK12_]H
MA@>8^OE$R=3\-[B"1'AP@C4*(UW\DJ)WWJA)!:TH\3:NK8[K,/[9)Q-MG< G
M I\)AUB'C86B\\_"BSRU9B!V//M.A"O>'CF>31&2\2CB/S3O,'O-M_O;E%V#
MT(0YC1B^Q,P(ANIS";Y6XL3_H7.^SM^M6MQ%_NX/B_MU@615((D"R7][7,,<
M_BK"%H>JP-9QG!PI3*_C*"^R\\3>\7@IO^'CN'\7MFZU(Q?C\6KC!53&>$ K
MFQN<H09?V!Q(J'S8[G%OQSD; V^ZZ0FQ^1WG[U!+ P04    "  (@9Y,R)N,
MM[4!  #3 P  &0   'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q]4]MNW" 0
M_17$!P0ONTFV*]M2-E'42JVT2M7TF;7'-@H8%_ Z_?L.V'&MQ,H+,,,Y9RX,
MZ6#LBVL /'G5JG49;;SO#HRYH@$MW)7IH,6;RE@M/)JV9JZS(,I(THKQ)+EA
M6LB6YFGTG6R>FMXKV<+)$M=K+>S?(R@S9'1#WQQ/LFY\<+ \[40-/\'_ZDX6
M+3:KE%)#ZZ1IB84JHW>;PW$7\!'P+&%PBS,)E9R->0G&MS*C24@(%!0^* C<
M+G /2@4A3.//I$GGD(&X/+^I/\;:L9:S<'!OU&]9^B:C>TI*J$2O_),9OL)4
MSS4E4_'?X0(*X2$3C%$8Y>)*BMYYHR<53$6+UW&7;=R'\89?3[1U I\(?";L
M8QPV!HJ9/P@O\M2:@=BQ]YT(3[PY<.Q-$9RQ%?$.DW?HO>2;VR\INP2A"7,<
M,7R)F1$,U><0?"W$D7^@<[[.WZZFN(W\[3+\/ED7V*T*[*+ [M,:5S#[]U6R
M15,UV#J.DR.%Z=LXR@OO/+%W/#[*?_@X[C^$K67KR-EX?-KX )4Q'C"5Y IG
MJ,$?-AL**A^.MWBVXYR-AC?=](78_(_S?U!+ P04    "  (@9Y,/($J1+0!
M  #3 P  &0   'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q]4]%NG# 0_!7+
M'Q#?&9J>3H"42Q6E4BN=4K5Y]L$"5FR6VN9(_[ZV(82VJ"_8N\S,SMKK;$3S
M8EL 1UZUZFQ.6^?Z(V.V;$$+>X,]=/Y/C48+YT/3,-L;$%4D:<7X;G?+M) =
M+;*8.YLBP\$IV<'9$#MH+<RO$R@<<[JG;XDGV;0N)%B1]:*!;^"^]V?C([:H
M5%)#9R5VQ$"=T[O]\90&? 3\D##:U9Z$3BZ(+R'X7.5T%PR!@M(%!>&7*]R#
M4D'(V_@Y:]*E9""N]V_J#[%WW\M%6+A']2PKU^;T0$D%M1B4>\+Q$>9^/E R
M-_\%KJ \/#CQ-4I4-GY).5B'>E;Q5K1XG5;9Q76<_B3)3-LF\)G %\(AUF%3
MH>C\DW"BR R.Q$QGWXMPQ?LC]V=3AF0\BOC/F[<^>RWV!YZQ:Q":,:<)P]>8
M!<&\^E*";Y4X\7_HG&_SDTV+2>0G?UA,M@7238$T"J3_[7$+D_Y5A*T.58-I
MXCA94N+0Q5%>99>)O>/Q4M[AT[A_%::1G247=/YJXP74B Z\E=V-GZ'6O[ E
M4%"[L/WH]V::LREPV,]/B"WON/@-4$L#!!0    (  B!GDRL%4</M $  -,#
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;'U3T8[;(!#\%<0'' G)
MW461;>ER5=5*K11=U?:9V&L;'; NX/CZ]P7LN&YK]<6PZYG965BR >VK:P$\
M>=/*N)RVWG='QES9@A;N#CLPX4^-5@L?0MLPUUD052)IQ?AF\\"TD(866<J=
M;9%A[Y4T<+;$]5H+^_,$"H><;NDM\2*;UL<$*[).-/ %_-?N;$/$9I5*:C!.
MHB$6ZIP^;8^G?<0GP#<)@UOL2>SD@O@:@X]53C?1$"@H?5008;G",R@5A8*-
M'Y,FG4M&XG)_4W^?>@^]7(2#9U3?9>7;G!XHJ: 6O?(O.'R J9][2J;F/\$5
M5(!')Z%&B<JE+RE[YU%/*L&*%F_C*DU:A_'/[D9;)_")P&?"(1'86"@Y?R>\
M*#*+ ['CV7<B7O'VR,/9E#&9CB+]"^9=R%Z+[>$^8]<H-&%.(X8O,3."!?6Y
M!%\K<>+_T#E?Y^]6+>X2?_>'Q8=U@?VJP#X)[/_;XQKF\:\B;'&H&FR3QLF1
M$GN31GF1G2?VB:=+^0T?Q_VSL(TTCES0AZM-%U C>@A6-G=AAMKPPN9 0>WC
M]C'L[3AG8^"QFYX0F]]Q\0M02P,$%     @ "(&>3!0D:F"V 0  TP,  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL?5-A;YLP$/TKEG] 39QL2R)
M:CI-G;1)4:>UGQTXP*K-4=N$[M_/-I2R#>T+]AWOO7MGG],!S;-M !QYU:JU
M&6V<ZXZ,V:(!+>P-=M#Z/Q4:+9P/3<UL9T"4D:05XTGRD6DA6YJG,7<V>8J]
M4[*%LR&VUUJ87R=0.&1T0]\2#[)N7$BP/.U$#3_ _>S.QD=L5BFEAM9*;(F!
M*J.WF^-I%_ 1\"AAL(L]"9U<$)]#\+7,:!(,@8+"!07AERO<@5)!R-MXF33I
M7#(0E_LW]2^Q=]_+15BX0_4D2]=D=$])"97HE7O X1ZF?CY0,C7_#:Z@/#PX
M\34*5#9^2=%;AWI2\5:T>!U7V<9U&/_PPT1;)_")P&?"/M9A8Z'H_+-P(D\-
M#L2,9]^)<,6;(_=G4X1D/(KXSYNW/GO--_M]RJY!:,*<1@Q?8F8$\^IS";Y6
MXL3_H7.^SM^N6MQ&_O8/BX=U@=VJP"X*[/[;XPKFD/Q5A"T.58.IXSA94F#?
MQE%>9.>)O>7Q4M[AX[A_%Z:6K247=/YJXP54B Z\E>3&SU#C7]@<**A<V'[R
M>S/.V1@X[*8GQ.9WG/\&4$L#!!0    (  B!GDSC$"Q@QP$  #@$   9
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
M_'NMI31@4XGN[*VV=B"M!H?:N*UM(*3FMIP-(X=EXI!U[!5_ 5!+ P04
M"  (@9Y,^J?'++@!  #3 P  &0   'AL+W=O<FMS:&5E=',O<VAE970R-RYX
M;6QU4]MNU# 0_17+'U GWJ4LJR12MPB!!-*J"'CV)I.+ZDNPG4WY>\9.&D*;
MOMB>\3EG+AYGH[&/K@7PY$E)[7+:>M\?&7-E"TJX&].#QIO:6"4\FK9AKK<@
MJDA2DO$DN65*=)H66?2=;9&9P<M.P]D2-R@E[)\32#/F-*7/CH>N:7UPL"+K
M10/?P?_HSQ8MMJA4G0+M.J.)A3JG=^GQM _X"/C9P>A69Q(JN1CS&(PO54Z3
MD!!(*'U0$+A=X1ZD#$*8QN]9DRXA W%]?E;_%&O'6B["P;V1O[K*MSD]4%)!
M+0;I'\SX&>9ZWE$R%_\5KB 1'C+!&*61+JZD')PW:E;!5)1XFO9.QWV<;G9\
MIFT3^$S@"^$0X[ I4,S\H_"BR*P9B9UZWXOPQ.F18V_*X(RMB'>8O$/OM>#)
M(6/7(#1C3A.&KS#I@F"HOH3@6R%._!6=\VW^;C/%7>3OUN%OWQ#8;PKLH\#^
MOQH_O*AQ Y,F+X*P55,5V":.DR.E&70<Y95WF=B[^(KL'WP:]V_"-IUVY&(\
M/FU\@-H8#YA*<H,SU.(/6PP)M0_']WBVTYQ-AC?]_(78\H^+OU!+ P04
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
MOA6+P:$R;GMK]VJ:F,DPLI\? [*\2/D'4$L#!!0    (  B!GDR_(I'TWP$
M  (%   9    >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;'54;6_;(!#^*X@?
M4!R<Q%UD6VI:59NT25&G;9^)?7Y1P7A XN[?#[#C>2[]8KCCN>>YP]RE@U2O
MN@$PZ$WP3F>X,:8_$**+!@33=[*'SIY44@EFK*EJHGL%K/1!@A,:17LB6-OA
M//6^D\I3>3&\[>"DD+X(P=2?(W Y9'B#;XZ7MFZ,<Y \[5D-W\'\Z$_*6F1F
M*5L!G6YEAQ14&7[8'(Z)PWO SQ8&O=@C5\E9RE=G?"DS'+F$@$-A' .SRQ4>
M@7-'9-/X/7'B6=(%+O<W]F=?NZWES#0\2OZK+4V3X7N,2JC8A9L7.7R&J9X=
M1E/Q7^$*W,)=)E:CD%S[+RHNVD@QL=A4!'L;U[;SZS#QW\+" 70*H*L ,@KY
MS)^887FJY(#4>/<]<[]X<Z#V;@KG]%?ASVSRVGJO.8UW*;DZH@ES'#%T@=G,
M"&+99PD:DCC2=^&4AN/C8(JQCX^7\DD2)M@&";:>8/M?C?M5C2',!R*[H,@N
M0'"_$@EA/H5%]D&1_7N";;02"6$^^%])4"0)$-"52 @3KT3(X@T*4+7O/HT*
M>>E\YR^\<X,_4/^&_\''Z?"-J;KM-#I+8SO!O]=*2@,VE>C.WFIC!])L<*B,
MVR9VK\:V' TC^VGBD'GLY7\!4$L#!!0    (  B!GDS_\VZ8M $  -,#   9
M    >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;&U3;6^;,!#^*Y9_0)TXM*LB
M0&HZ3:NT25&GK9\=.,"JS5';A.[?SS:$THPO^.YXGN=>?$X'-*^V 7#D7:O6
M9K1QKMLS9HL&M+ WV$'K_U1HM'#>-36SG0%11I)6C&\V=TP+V=(\C;&CR5/L
MG9(M' VQO=;"_#V PB&C6WH)/,NZ<2' \K03-?P"][L[&N^Q6:64&EHKL24&
MJHP^;/>'). CX(^$P2YL$CHY(;X&YZG,Z"84! H*%Q2$/\[P"$H%(5_&VZ1)
MYY2!N+0OZM]B[[Z7D[#PB.I%EJ[)Z#TE)52B5^X9A^\P]7-+R=3\#SB#\O!0
MB<]1H++Q2XK>.M23BB]%B_?QE&T\ATG_0ELG\(G KPAL3!0K_RJ<R%.# S'C
M[#L1KGB[YWXV10C&4<1_OGCKH^><)TG*SD%HPAQ&#%]@MC.">?4Y!5]+<>#_
MT3E?Y^]62]Q%_FZ9_GZW+I"L"B11(/G4X^U5CVN8NZLD;#%4#::.ZV1)@7T;
M5WD1G3?V@<=+^8"/Z_Y3F%JVEIS0^:N-%U A.O"E;&[\#C7^A<V.@LH%\XNW
MS;AGH^.PFYX0F]]Q_@]02P,$%     @ "(&>3 M;5N&Y 0  TP,  !D   !X
M;"]W;W)K<VAE971S+W-H965T,S0N>&UL;5/;;MP@$/T5Q >$7=9--BO;4C95
MU$JMM$K5Y)FUQS8*& ?P.OW[#MAQW-0OP SGG+DPI(.Q+ZX!\.1-J]9EM/&^
M.S#FB@:T<%>F@Q9O*F.U\&C:FKG.@B@C22O&-YMKIH5L:9Y&W\GFJ>F]DBV<
M+'&]UL+^.8(R0T:W]-WQ*.O&!P?+TT[4\ O\[^YDT6*S2BDUM$Z:EEBH,GJW
M/1R3@(^ )PF#6YQ)J.1LS$LPOI<9W82$0$'A@X+ [0+WH%00PC1>)TTZAPS$
MY?E=_2'6CK6<A8-[HYYEZ9N,[BDIH1*]\H]F^ 93/5\HF8K_ 1=0" ^98(S"
M*!=74O3.&SVI8"I:O(V[;.,^C#>[VXFV3N 3@<^$?8S#QD Q\Z_"BSRU9B!V
M['TGPA-O#QQ[4P1G;$6\P^0=>B\Y3VY2=@E"$^8X8O@"LYT1#-7G$'PMQ)'_
M1^=\G;];37$7^;ME^/WUND"R*I!$@>2?&O>?:ES#W'X*PA9-U6#K.$Z.%*9O
MXR@OO//$WO'X*!_P<=Q_"EO+UI&S\?BT\0$J8SQ@*ILKG*$&?]AL**A\.-[@
MV8YS-AK>=-,78O,_SO\"4$L#!!0    (  B!GDS&P&?^904  !XD   9
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
M,S<N>&UL?53MCIP@%'T5XP,L?LY,)VJR8].T29M,MNGV-Z/7CRR(!1RW;U]
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
M9CK*G1ZZ^CP?4P?7L_+=+U!+ P04    "  (@9Y,;&9$59,$   ,&@  &0
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
M#G7=F=ZA^-(OS=%D^^M%80[=<!KWY\VT9S9==/7ILA\87#<E-_\"4$L#!!0
M   (  B!GDPBHV03! (  &L%   9    >&PO=V]R:W-H965T<R]S:&5E=#0T
M+GAM;'54;6^;,!#^*XCOJ\$A0"*"U+2:-FF3HDY=/SOD$E!MS&PG=/]^?J&,
M@OL%^\[//<^=S5W1<_$J:P 5O#':REU8*]5M$9)5#8S(.]Y!JT_.7#"BM"DN
M2'8"R,D&,8IP%*6(D:8-R\+Z#J(L^%71IH6#".25,2+^[H'R?A?&X;OCJ;G4
MRCA0673D K] /7<'H2TTLIP:!JUL>!L(.._"^WB[SPW> GXWT,O)/C"5'#E_
M-<;WTRZ,3$) H5*&@>CE!@] J2'2:?P9.,-1T@1.]^_L7VWMNI8CD?# Z4MS
M4O4NS,/@!&=RI>J)]]]@J&<=!D/Q/^ &5,--)EJCXE3:;U!=I>)L8-&I,/+F
MUJ:U:^].LLT0Y@_ 0P > ["KQ0G9S!^)(F4A>!\(=_<=,4\<;[&^F\HX[578
M,YV\U-Y;N4JR MT,T8#9.PR>8.(1@33[*(%]$GN\",=YZB=8>7-<68+5AQQS
M/T'B)4@L0?(A@WQ6I,-D%M-:3))%G]2Y]JJL%RJK9#-3<9CU1"7=9'Z1U"N2
M+D76T4PD78A\R2/L5\F\*IE')9ZI9 N5./[D67.O2.YYE?E]Y9Y7B>>EH,G/
MSD!<;)O+H.+7UHZ8B7><)/?8-LM_N!M#/XFX-*T,CESIEK.-<>9<@<XENM.U
MUGKRC0:%LS+;3.^%ZW]G*-X-HPV-\[7\!U!+ P04    "  (@9Y,FP+TE?P!
M  "D!0  &0   'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6R-E%%OFS 0Q[\*
MX@/48$)((H+4=*HV:9.B3MN>';@$5!M3VX3NV\\VE-'T'OJ"[?/_?G=G[,L'
MJ9YU#6""5\%;O0]K8[H=(;JL03!])SMH[<Y9*L&,7:H+T9T"5GDGP0F-HC41
MK&G#(O>VHRIRV1O>M'!4@>Z%8.KO ;@<]F$<OAF>FDMMG($4><<N\!/,K^ZH
M[(K,E*H1T.I&MH&"\SZ\CW>'.'(.7O&[@4$OYH$KY23ELUM\J_9AY#("#J5Q
M"&:'*SP YXYD\WB9H.$<TSDNYV_T1U^\+>;$-#Q(_J>I3+T/-V%0P9GUW#S)
MX2M,!:5A,%7_':[ K=QE8F.4DFO_#<I>&RDFBDU%L-=Q;%H_#N-.%D]NN .=
M'.CL0*FO90SD,__"#"MR)8= C8??,?>/XQVU9U,ZHS\*OV>3U]9Z+9*4YN3J
M0)/F,&KH0A//"F+I<PB*A3C0#^Y)FN" !,TQ\8#D'6"% U8H8.4!JW> ]*;(
M49-Z3>LU% ^1HB%2),0:!ZQ1P/KS168H($,RR&Z*Q#0;/,@&#;)! %L<L$4!
MV\^7:1\[>F.CCSFLH]LKBXEN;RU9/!(!ZN+;@PY*V;>^-RVL<PNZ'Q_9?_G8
MOWXP=6E:'9RDL4_5/ZBSE 9L+M&=O1NU;9GS@L/9N&EFYVKL&^/"R&[JB61N
MS,4_4$L#!!0    (  B!GDR)NS:C9P,  &L/   9    >&PO=V]R:W-H965T
M<R]S:&5E=#0V+GAM;)57VW*;,!3\%88/"#KBGK$]TS@7I[DXDT[;9V++-A-
M+LAV^_<5(#L(#C%Y,1?OKG3V2 N,#CQ_+S:,">-OFF3%V-P(L;VTK&*Q86E4
M7/ MR^0_*YZGD9"7^=HJMCF+EA4I32Q*B&>E49R9DU%U[R6?C/A.)''&7G*C
MV*5IE/^[8@D_C$TPCS=>X_5&E#>LR6@;K=D/)GYN7W)Y99U4EG'*LB+FF9&S
MU=C\!I=S"$M"A?@5LT/1.#?*4MXX?R\O[I=CDY0S8@E;B%(BDH<]F[(D*97D
M//XH4?,T9DELGA_5;ZOB93%O4<&F//D=+\5F; :FL62K:)>(5WZ8,560:QJJ
M^D>V9XF$ES.18RQX4E2_QF)7")XJ%3F5-/I;'^.L.AZ4_I&&$Z@BT!.!TD\)
MMB+8'P3XE. H@O-!L#\EN(K@#AW!4P1O*,%7!'\H(5"$8"@A5(1PJ*U CITC
M0\> 4[-AJ+5P;#?0P:,<&PZ#.P['EH,SF')L.K2[;M4KOMI"UY&()J.<'XR\
M3H%M5(8-7$J6%"_O5INR^E-NHT+>W4]LCXZL?:FD,%<UAFH86\=,,8RC8ZXQ
MC*MC;C",IV-N,8RO8^XP3*!C9ET,#5ICW6,ZH8[YCF!\HF,>, SHF$<,T^K%
M$X9I]>(9P[1Z,<<P'[VPY*(YK1R*KQQ:*3B:@H<KV+B"72G8FH*/*SBX@H/,
MH=7EFQH#]1+/*I#KN82T.C2K<7X31L-6JQ\1,<?MBLV[8@YQ0KPV%Z_-16KK
M4?!P!6^XOSZNX)_W][K& &W4"E['W1KE-D"4M!?W R;5B8AY5PH< GA= 5Y7
MT*TK(+A"B"N$P[TM'U%H])+S[DX5"&S-DXZ]"J:9$E"G'528F-P+[6SHBE%J
MTY[J^AXL@'C<TR7HB1B@7W"Y)V3 /N_RE0*!HVU8T@T)!=1\=OW.0P.1<QTD
M)A Y"M"S$J$G! %)P:"O6SUA ^X7G.Z)&_#..WVG0%HRVHC/'K+)@Q;J&1&3
MLZ;MP,#$:&-F>G4]40A(%@9VCT9/[$#P!9=[@@?"\R[?*A T2_:0Y]1, 9L.
M>M!:SD^8FDP7;#UWY< G;:>MQMMI^1GZ%.7K."N,-R[DJV[U-KKB7#"I2"[D
MH!OYY7NZ2-A*E*>^/,_KS[_Z0O"M^K2U3M_7D_]02P,$%     @ "(&>3/]L
MQG1) @  B0@  !D   !X;"]W;W)K<VAE971S+W-H965T-#<N>&ULE5;;CILP
M%/P5Q >L,81+(H+4356U4BM%6W7[["1.0&LPM9VP_?O:QJ$).8G8%WQASGC.
M,6.3=UR\R9)2Y;W7K)%+OU2J72 DMR6MB7SB+6WTFST7-5%Z* Y(MH*2G0VJ
M&0J#($$UJ1J_R.W<6A0Y/RI6-70M/'FL:R+^/E/&NZ6/_?/$2W4HE9E 1=Z2
M _U)U:]V+?0(#2R[JJ:-K'CC";I?^I_P8H43$V 1KQ7MY$7?,ZEL.'\S@V^[
MI1\81931K3(41#<GNJ*,&2:MXX\C]8<U3>!E_\S^Q2:OD]D025><_:YVJESZ
MF>_MZ)X<F7KAW5?J$HI]SV7_G9XHTW"C1*^QY4S:I[<]2L5KQZ*EU.2];ZO&
MMIWC/X?! :$+"(< /'L8$+F :!2 >F4VU<]$D2(7O/-$OULM,1\%7D2ZF%LS
M:6MGW^ELI9X]%5$VR]')$#G,<X\)+S!A> U9W4*2_Q"D%0PR0E!&:..C*QDQ
M3!"!!)$EF%T1)*,\>DQJ,8W%C#)=W2)P JN8@2IF@(ITI*+'Q)=K9",9 "2"
M9<2@C!B0D<$$"4B03-^.%"1()VQ'>I-E,*K#(\25B P4D0$BYC#!'"283R\#
M#F![!1.^" =Z5(F'D&LA=WR.;X7,[U' 'L4?,"F&78JGV-2!X@<^!2#WC(IA
MIV+ JG-\AP)V&8X_4 _89SB9\GDDMZ?2^,2 ,.,C UW<">:2_D'$H6JDM^%*
M7R_V$MASKJCF"YYT;J7^+Q@&C.Z5Z::Z+_K+L1\HWKJ+'PU_'\4_4$L#!!0
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
M/(8Y"I"C #CLI2U<CK+(8)829"D!EL)B*1V6K"06:%TZ<YJE10%+03%<9&)
M3&E7D-A1@V+L(_)4,^02D=@F0@Y1,5F 6QZXSB ,\#@E$;L!H=BS51!<CQ!0
M2(B=?@8T72*$O41PO4% H2")302!//F%X'*"@#I [#0&09[=C^!J@8!R07R+
M#-<"E'_\-$%PJB,@U^T$>S"@Z?*1,D,>(CC;$9#NI(1=8#A)<?SQ<#&<?AA(
M/^?XA$"99[-BSS$/I)]OPC"<6#CYCVCAE,'0&>U$"X"<.TTTN:VI"_IWVA^J
M=@@V7,B+G[Z>[3D73#J,[V1N'.4_P;53L[U0S5RV^_%B/'8$[\RE/[K^>2S^
M 5!+ P04    "  (@9Y,A<+JK X"  "#!0  &0   'AL+W=O<FMS:&5E=',O
M<VAE970U.2YX;6Q]5-&.FS 0_!7$!YR)#4X:$:1+3J=6:J7HJK;/#MD$=#:F
MMA.N?U_;$(XC;E^"O<S,SCAF\TZJ5UT!F.A-\$9OXLJ8=HV0+BL03#_(%AK[
MYB258,9NU1GI5@$[>I+@""<)18+535SDOK9712XOAM<-[%6D+T(P]6<+7':;
M>!'?"B_UN3*N@(J\96?X#N9'NU=VAT:58RV@T;5L(@6G3?RX6.^HPWO SQHZ
M/5E'+LE!RE>W^7+<Q(DS!!Q*XQ28?5QA!YP[(6OC]Z 9CRT=<;J^J3_[[#;+
M@6G82?ZK/IIJ$Z_BZ @G=N'F17:?8<B3Q=$0_BM<@5NX<V)[E))K_QN5%VVD
M&%2L%<'>^F?=^&<WZ-]H80(>"'@DV-[_(Y"!0-X)J0_?._-1GYAA1:YD%ZG^
MSVJ9NQ.+-;&'6;JB/SO_SJ;5MGHM,DIR='5" V;;8_ $LQ@1R*J/+7"HQ1;?
MT3'^V&$7@)!P"Q),03R?3!VN:%@@#0JD7B#]< SI[!AZ3.8Q3=]D2? JF64)
MP3!-_V$G"]K) G:RF9WLK@\E=#$S<P_*ELDJ;(4&K=" %3JS0@.1/]%T;B8$
M6Y$LG=E!D[LK0)W]9ZZC4EX:XR[)I#I.DD?L[OZLOK43IA\([S+]>/K&U+EN
M='20QGY9_OZ?I#1@728/UF!E)^*XX7 R;KFT:]7/A7YC9#N,/#3.W>(O4$L#
M!!0    (  B!GDSO2+;EX@$  &L$   9    >&PO=V]R:W-H965T<R]S:&5E
M=#8P+GAM;'U4ZVZ;,!1^%>0'J DF:18!4I.JVJ1-BCIM^^W X:+ZPFP3NK>?
M+Y32#.T/]CG^ON]<[$,V2O6B6P 3O7(F=(Y:8_H#QKIL@5-])WL0]J26BE-C
M3=5@W2N@E2=QAI,XWF%..X&*S/O.JLCD8%@GX*PB/7!.U9\C,#GF:(/>',]=
MTQKGP$76TP:^@_G1GY6U\*Q2=1R$[J2(%-0Y>M@<3JG#>\#/#D:]V$>NDHN4
M+\[X4N4H=@D!@](X!6J7*YR ,2=DT_@]::(YI",N]V_J3[YV6\N%:CA)]JNK
M3)NC/8HJJ.G S+,</\-4SQ9%4_%?X0K,PETF-D8IF?;?J!RTD7Q2L:EP^AK6
M3OAU#"=;,M'6"<E$2&:"C?T_ ID(Y)W@NXE#9K[41VIHD2DY1BI<5D_=F]@<
MB&UFZ9R^=_[,5JNM]UIL=_<9OCJA"7,,F&2!V<P(;-7G$,E:B&/R#SU)/D8X
MK4#(>@BR6@7Q?++,<+];%TA7!5(OD'YHP_ZF#0&S]1@1@A#R*8[CFV)6<+MT
MO\2%A/#BCCBHQC]G'95R$,8U8^&=)^8A<7=\XS_:20H/_UTFC.$WJII.Z.@B
MC7U!_IYK*0W8-.,[FV%K)W\V&-3&;>_M7H7W'PPC^VFT\?Q_*?X"4$L#!!0
M   (  B!GDP":3^<)P(  !L'   9    >&PO=V]R:W-H965T<R]S:&5E=#8Q
M+GAM;(U5ZV[:,!1^E2@/@.-< 85(*ZC:I$U"G=;]-F!(5"=.;4.ZMY_MN%F
M X,?\>V[G&..[;SCXDV6E"KOHV:-7/BE4NT<(;DM:4WDA+>TT2M[+FJB]% <
MD&P%)3M+JAD*@R!%-:D:O\CMW%H4.3\J5C5T+3QYK&LB_CQ1QKN%C_W/B9?J
M4"HS@8J\)0?ZDZI?[5KH$1I4=E5-&UGQQA-TO_"_X/D*AX9@$:\5[>2H[YE4
M-IR_F<&WW<(/3$24T:TR$D0W)[JDC!DE'<>[$_4'3T,<]S_5GVWR.ID-D73)
MV>]JI\J%/_6]'=V3(U,OO/M*74*)[[GLO],391IN(M$>6\ZD_7K;HU2\=BHZ
ME)I\]&W5V+;K5^+$T6!"Z CA0,#W"9$C1/\(\5U"[ CQ!0'UJ=B]61%%BESP
MSA/]W]L24T5X'NO=WYI)N]EV36^/U+.G(DEG.3H9(8=YZC'A&),%YY@EA,'G
MF-4U)@P'"-)A#K&&8*RAY4=G'C<$(E @L@+Q6 !'%T'VF,QBFC[(P/U@JQBT
MBJ^ML@@62$"!Y/%D4U @_7^RR_0JV>A^LAEHE0')QA=%U&-F(ZM@$L0);#,%
M;:: 37)A V%2V&0&FLP @>S"!,),81,<P,<N "1F-R1NG%S\>(5@^$#A\($:
M<:!QD6"X1M#HTC'/Q@\B#E4CO0U7^OZRM\R><T6U:C#1]5WJEVH8,+I7IIOI
MONBOZWZ@>.N>(C2\A\5?4$L#!!0    (  B!GDP"G&Q#K6P  &Z[ 0 4
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
MV!\QM>D^NY<N&D>1\IJ3P]_W528E#W0I*B=H5D6N@EQ=X$Q[[D+3R%90 V+
M_HEERW)/9L\31<M6M611F2@94U\SVY^P&P(@4U7'0>GQ42&251X>[YR$1Y-A
M6K9V!W(F7F)R<,<F;!5NX[VH>RKH1M>X9P2!39^D)3JG7?*!9<VA*7<HVV E
M(2?WW];L<#]EQ5AEZO]RBH]*1C(=B?7V3";%*/K9W[.OHTAON!OIY2+$JE9=
MX$+JBB*?'[#.GQB-+3\]/A\"-\43=!"Y\U1Y2A3LG4D6H?P-<Z'%1&]I=*+%
MS5>+Z+7560C&#ZP0EK0<HR'K=6<+;A#SSS!86&>2-DF9J6Q@UU;K]Y13"L$4
M-N@G3K4,&8HLO&OV^VVFUYL: [6J3\$5HU51?*PA VN[UX752BKC"RAJW.HF
M,:F!-2;<SA27Y;U+<G+=]%XT%LQAT$YVB1U TMR=<[Z R"^X5(/*:M%M=:P"
MG5@Z6,>A4?1JS75S]E0.D H3 LQ$_Z7:5I3_X 2\JKKE(">AUNXOS ]/DR"^
MH]+L8/;3 6>>SKA"M[T(J@K-:($\:XN!=2:N\PP88+U%+?5'=MSND@ IKPWM
M$[!=>,0 N+*3T 3/%E'NM2G"JO)1Y6(+TV$1Y=T=AGF*@[.!)%Y@9EL\_&VN
M"C!(G$3MGX,*_E*E'3B@2U4%L)WTJFJ$4Z/BB+9X_)TW7./P'-VT=F.CO^:)
M XG9L3= "AC8K99,S3WG#KDVE=^;FX[R2;$ILDJGC>-S]R4W1 )N<A0FYKY^
M>]IPF0\).Y-B"\(\0.S&HS^>035]LES*5T3CHSTZWTL^.P^D[,W\&@=G2LIO
M&BID>3I2210I'-(XHXM#0Q0<?BR%<6,/<N</NP ._ !_VQM4/, BY,^C/V>P
M>(307T'"F\W9F'J%.A%H\M.9^GL:CZ>KZ,-C@;Y50(XU"OQC5 ;("!1/YC/X
M[Q0X[+>(<@#L=P"N#?X"3R7Q$A0B>&.&;Z23-/K3">1#D(S(<87ELZ?C,4V%
M(2#S:#;EB='L,(X^9L4C+Y)]S=%T(L].EZ#8+D#=PME1._L/0!H8]&>@%G-9
M_!Q8+BY@)N\LQDL @9T'""O1I2E]"M%]BH]9I_)%-@CG7%06Q)/SK9()+,=:
MX"L2FLXB2K^G[-E[X,GY? WJ/%'8%UG[-E09(R&VMK-=)ZLT9,C@0V=3/RY9
M ]DNYJ&)20Y+)N?-T.RZ<$([J1R?$9I:V L3=!)J38(P!1:B79WSJLY+S]1K
M0^6<8@-:4H"8_Q$YIMA8B3=GM>=S\?,<-IW[G:U#F;1"Y  >W9ZJ<2)=S]I
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
M%ZJ&;W\K*W$LRDB"KUB: H\[*+S2O(!I:.3+R216* NGQ4GN3FA3H]:36"6
M?9L<TX=R0K,"-1H)4<Q0@@T@ROZTRRL,QOH;\+UZHTR!644%0'!=CV6UW>AC
MYA:7%'.(I()VUWRW]O<31V\0KON-!%]CL+]8[[0L9)H/8]W[$4A L#YYC=Y*
M^2MZ.79*QUPF8:%A'@0KU))MH%$1!N(-X>1%J1M. ;GH2%1-H4C]?D W.C5U
MU#3G2?SZV_P>GK9A9#(T<4T6DC6=9 9O/<6#W;7P)F@=I.!E?.NSVY)2:_<X
M4;ZQ("%5[9P$P0KE0$W*2J)1F9TY2XT*.1)+EV:RRC(1T*5MN;(<VR20M\-V
M8E\H#NP*AE_088/(!-!=(^^^E\B8+I7\,R//V9=.I7)M'485PM+.<K,G>.;X
MF$LFHQ:C>66HBIP W52BA)*DM.62;!D-N[#AY98XH4:A!;2H42VP%:0-PQ8T
M+UP8:%Z_ 7"_(/5<=4X?W'SXZ1I?G0\3S#LW]@( P) \4]GP%7H:GD#J8OL_
M&YPXD^"M6#_@<NABSJ-G+#K*%"*EU'(?G+AQS>J=K##R]5-X TR>\^2V\P%%
M"NY6:V8O].S!]'+89M,J)BK.U0S+AY,E"0Z&+BZ(QES3 > \E!HD5G\];EVT
M%:FNF70F_J3;_+[8[T6HE\*Q)#"P+O3R\IYP+>O/HJOI<BI64'/]=28+,Z^
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
M,Q!9L4Y_9_ME$&V)A%((C8%(PX947V8-"J_!M]L4#N*;^LSGC+*Z77N[TX#
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
M(Y7LF::BYH4*G*DVP!8<3<L(7G4 6QW[GJ8N^<:]#8WZ:+86J%DKQ:@<C'"
MA2KZ\#FX)O\</K<<)N@HH7)TH,S1*M]IO_(KY5>F:_O1*@]8&CNXYF?+X3BQ
M^9GF8'3TE&:=RQR*J_U*S>Y,Y76)R_;M47;S<,MU8S(&'G28*)VUB3]G*-CV
M?W<A%&EGF<75Z.-SC";$*W-E3N/59@XU"/CKN23"4=6_RAMK2"^"FME^-]B$
MZ696:JS5#]OSYK9!YV;O^HU4RAF%$_L[=0@3LQK_(=.<B$5D<6)3I+"F@F;C
M(>A\T9[><M&Q!L6P$*[P-@)3\N_.M5>+1XO^@#SIK#M<>VNV@V*4K[01TF<S
M"]_73GOQCL.0&I8<SQR+1D V\IX%-4?:[*4&FXD.L_!-.338<>"P0GC;8",[
M+>PD$9*M=&2<U"F34?5^NR]GQLS.I_7RNW82NR&M3]@X6<LJ&*0AQ21S(SNH
M<';SG&Y8V<;Z57RMM91,+BR%ATGNQ@4CMNZDJ'\K-]PYCU*CII\=<F2[T_IQ
MJ=249]+U]4$+>Z\EP!>.S,&/VIPI#7(F6R>V*9,) E5T,TW'<73Q"F)3VHZ*
M)V*D:[N(Y*:8:>D,ZZ<09IAXR%QURNL8S:J1B;9-\5YWWQJ*:<6<@X;GF:+;
M>@IZ0<L&!]L#,F\:._(J37(MSQ<G$6G^7-[65-D3Z^IA=8T!/O),ZGT^NZ9N
MJ=H&Y^DBKE_MDA7<2)P9>5Y$?52NIKO3=J\<Q99+2S=BEVJ.#1D-W\0TUS^I
MR$ZKIH2]9NE2LK4JB'L'HNHB6R5V9#NANKF6\<Z4!^9,<:L\6:[+CF1V55VN
MOT?QT-R9BPVU=C4-A;^4\F6:TI:F]T4ATAA-H2AH%R)2HS"V,^L:L)ZQ*G2>
M9X?VU5%D>8HB<-$\K4-\'=)I#^CIH=HOT;;B?O:UIJ;:PQ_14$ EVK?5H,A1
M[<>FF&-W1AF4JG]N?>TZS0QRN19&TI[MXIJFI*:%W/*W<SD;V:?GU2S@(E]=
MRVJ&IUDMKJP@A3H:?"2G6[/8Q1]O3"#3]U8(D[Q+KA-K2#)#OT?S.R5H8J$A
MKZX,GOJ93F!>J /%45G3VVSQ5ML -HVX!TE/4ZMA.WBP#VZCGM)_GDJDDI1J
MQ^8BOHP_D.>![R#7 L!;(R :?(]1 6C\LDN+L*_R[2V&Z=-6W^P/)_-T>BVO
M/X]^H+!F<6X45C@)MK-9S9:Z(<"5_O1"H^)MB:5PU?>3Y3B>IXG^6U?DQOAO
M\U@""D.Z6NF_:27#VVS]"^;&&*>4?GZ2Q/.%6<@'BE-&TZ([?9K&B^58__G#
M:4^ML;:-QY)Q/!N;1=[<4ZRB^\PL7DW,(R^PPLP=B@!L]H-SH+[C)@*XV1E-
M_?M*&8//O3C5GRQT?_Y;S)PLK7,E@5,KG#HBVKX#S8DF<9+,VJ]['+Z_,&CC
MOL;13_NR@:^4/VDZCGS&E?8Z^!DZ9F^JY29SV!Q?F0E<#KI"%W:H:5[R;\6
MU]:S[PH@.ILMF+Q)@SS'&H@$_9CG(E $3FLP7\RBZ_8!7CP4656VOS]+V]_]
M[B]%^XO),FELSP7%51A9$,EC1O57NB*;^$#>6 $/;;P"CQ2(F#06ZSE:>!%4
M2RIOOF9'72A+S$8;5C4"-D_:W;Q_TK3&*Z!'0-X2;!^V0H*;M%-DIL?+> ZT
MB5[.5 \@:\DPWBJ>+5+X=TY=RAI4.)G  *M9A-VD)HO$(^;)>!E/DDDT7<03
M>*R-."]F\7221C-LN33Q:.TJ3F836.ER///(]3P>3^91FL B5V'J"Q1Z/EY&
M'S R9$B]ENT3F$P6P&5648K@FOL;2!=I/('7TQ7,!'!MV\%L'J?3>;1(XD6Z
M\%:9S+%=&;5VFR[<93)S2*;Q<C5N0G<"*Y]&Z22>SE8>5))X,EU&4X#8-/J^
MW-\']@:+PELTQ1&F"> $-CN;P"G"IQ3+U4X[:HO=.&%W'S(BHZT8WX-Z-E,!
M W%]]NK[R#@W.K;C.ZIAR_^U9#ESZL^;P,5.>XA9*TL6N8H&T_D4R-V5QNP0
M1L\FDV@VC@;I8@S/*ASO0.Y%,HYF\/QR L\+L@>P?#[3*QDD*3S*F!_ ^>DX
M2J(!$F:^ !H!GH<Q>#JC/H:#Y01WIY"Z YEGBPD@9328 -Y<*^P.H35<NPD<
MS )W)FCNX3<NUA6& HB> %,T8@ B?@#CY^,&A/@67$5P5'$"QP5T;XPG.D"I
MD$]ROIK$RV3<Q%C&E9_VL!+NU,*1S40&#08QA_Z'WP4NP7PRB]F:Q=A]:TF3
M[KXW' ?2&$J73>YUK1I B=ZIEU^7U7.08%3B))S #UROU7R"!7Y'V3^5=.6S
M;J,/[,__L8GF5U38-9DC<1LL"3>ND'3"Z1,ZK/@;P)%X.4,\&6!19,20!BX"
MH4\!A>!R+^!'T"ZFRP4V4<._F"C,%95HNS])D@);34%V2NBZQ7-J5TS$(IG%
M</W@IQ1_:MXHD-9 EQFLX*=EO("+,YCC9QAO DQJ 'K+M7<MIH#XL"0:KRE/
MV[\%N6/??T':6L**5DN&W )H#H)SL0#Q$ELS#V:S)7TSG<_E2JHKZ!4<UG:A
M'U0DX$O5JNC++YK3?]:8H)R@0VV_^P>PI'_='K])V#.>#-/HKUP:>CB13Y/A
M5#Y-AS/Y-!LNY!/?F !J"XN!3T!CTW3"\MTT06R?(,#Q0[(D$08%X\EB3$?&
M*G2+T,94]MS)*P7[C.PV@7^2!-C1"E8'_ ,%EW@":#*+QR@_BMH=EM] 1EO!
M@F;8O+UU(:*1AZ5#O5I"OM:]L+9^T4UPM7?^ZTK+C0!U0/ATPF>3$"BND&HL
M@5\" 5K :>%E6(($EK8S(]79@HJVMF@F']:@?9^X_JGU?-=07U&_>$\]W]B:
M5_,6%R0[329PY(OHY[+Z95CLA\HW!;082"[\%TC@:^R8]J +!\T 3'!(,/22
M9%&@N),5#C5?(/;X&]+]PY25JA>$&F]Y1D$M.Q;F43'570 W%B->9%5%EG]F
M5S>6$\<)Z?\1E+#&LR^QF5QQRX5S]OD1R[O6='GC\7QL?S"6%2F9%QWS]<.^
MQ-J+R'7@/@.7F@*53E!; L*O2Y6ZL4YP_<<+0.4),)A)C(SN1^P8@6UNCKE=
MHQ3)2 +W.9TNSNCB\S$H/JAV3H%2C?$#\*QI.O[_$3ZH$X%6.SX+GW0,="V>
M@MK9 1_$<B!LYRTQ!D3 -"<S:?6]7%V$Q7'TFNLQ.&![Q24C?+NW=U2Q5=A.
M*CLX@>V!9G7^]2CL=KG>C4!6)@7\'3!P]<+H/35%V'#Y9?'9"!*A5K+@V'.@
M+D"H,60<:<ARAA_A[QA!"1]3+(R_H@<FT6JY0C<,,#GR'<TF8XU^7O\""O@
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
M3F^Y895C$!3. YG\,9%NZ.?2O>"X!"JE+Q6 $)"- LY=9%OMX0GDZ3=(+?U
MNB0=S;IIOSU(T'&8!KE16S6G8=2O;I--ZT1HZ2$E7EIKR9,5SY1:.NO)N;#:
M4E^H>< (RYM6.5$C@0'6#?5N;"G6&^-T6\-J<:6O/MG1[EVA"&1CGXS#'(9^
M3&<M#O+&=)U,J/FP+R"P::1N,3ZV/W_(GM@\17=1_O+XZ GX:!+_KW_YE]!.
MV@:3&+C*NW4_9$_8L;5EN%;/$P;PM,+A#W5]_./_ U!+ P04    "  (@9Y,
M>"-,@*4"   7$0  #0   'AL+W-T>6QE<RYX;6S5F-UNVC 4QU_%,M/42E-#
M8,!8"=)6"6G2-E6"B]U5)G&")7]DCL.@EWN5:A=[C3W*GF3^" DP/E:V3N2&
M')]C_\[?CFV=,,C4DN+Q#&,%%HSR+( SI=+7GI>%,\Q0=B52S'4D%I(AI9LR
M\;)48A1E9A"C7JO9['H,$0Z' YZS$5,9"$7.50#[I0NX\3<BP@&\NWC^.1?J
M^AEPS\:+1J-Y=WF][;^P@4L('.-=%$"_^Q)Z?PZ]:N[GZM@6NO-(]$'V-KS[
M6/AA^C:^=P3_X]N>Q2X#.U?[U1'L>"3W<*O(3G#_F-Z'?7H?#F![S2/8D=J#
M+0,[L?X1[,^OW_=PJ\A.<,N O>+8# >QX-7I:4/GT)D1PV".: !O$"532<RH
M&#%"E\YM,:&@0@*ECZU69A5G]R[LNY8YT06'$2ZDS>TRN-]IT7TKL&H9@832
M4F +.L=PD"*EL.0CW;"=K?.W$"CLR3+5"A.)EGZK ZL!]J&33(6,L"S3^'#E
M&@XHCHT<29*9>2J1>B:HE&#:B A*!$=6PVI$86ALB"D=F^ON4[S!7L3 ]3&O
MI F!4;$R]:P+LWIK=H]YZS3'7L?V3N*"E,R%>IOKZ7#;-AL'WTH<DX5M+^)2
M@*:C-*7+-Y0DG&$WF:,)_1,3#@=HE0?,A"3WFF>V2J@=6$(PQU*1<-WS1:)T
M@A=JM9T6\:F:6S74_*_7.<$<2T371>N]?\ZK_)\5MWM_+]G>*MN"SVM5GUJB
MJ:]J(+)3!Y'=.HBLP;$Q56@-1/9K(+)7ARM(5]LU$-DZ?Y'MI]Z27E'VKM76
M&Y5UZ073G%!%>*%V1J((.SWFTR: '\TW%=VH;ZL"6^,5FE*\R==C(QRCG*I;
M,T4;#&!EOS?"_6[9:U(B EC9'W!$<F8_1KWJKY#A+U!+ P04    "  (@9Y,
MW+Y3J&\$  #*)P  #P   'AL+W=O<FMB;V]K+GAM;,6:6V^;2A1&_\J(IQZI
MKLUEG(N22&F22I;:)JI[VN<QC.U18'!GP$W^?3=0]VPGL'5>=GDRF-O2P,SZ
M9L/%S](]KLKR43P5N?67P;:J=N?3J4^WNE#^7;G3%K:L2U>H"E;=9NIW3JO,
M;[6NBGP:S6;S::&,#:XN#N=Z<-.KBV;AF]$__7__-ZM"I979ZZ]J=1G, MAO
MBG9L3WKX[8C.W?]A*M=KD^K;,JT+;:L.RNE<5::T?FMV/A!6%?HR..PBE,W$
MG:U,]2P6MCL5[!N(]M*+[#((8;E2%1RS-]ZL<AT(=VY@@UMD80/.!WD#ZV5N
M,KAZ)I8-1'. %^5:W.^T0Y 1 1F-!GE3%CL$&1.0\9B0"8),",CD+T*^5[FR
MJ1;+MBL@0$D RM$ Q9L'A2#G!.1\O%NM_!9!GA"0)V- -HS+K7(:09X2D*=C
M0IXAR#,"\HP7<ED7A7+/+9796 .'*8"\3M.RAF$=#^0S:B2?\6)^!N,]N-("
M5-H]D)B,= RS9#XHX\0WE==:?-+*U^XU'F67D%LOT&??MCU7W/VHS5[E#=W;
MUML+N\>8E%]"9L$ "NQ0.J./6HZR2<BLDX6ME-TT%Q77WA]+)*0L$C)KY+MR
M#OKHL[A?Y6;3;<=LE#Q"9GO<:@?/6)-,X>GRE:M?=0;*&B&S-KYH>,J@HW[1
M:0ECW<ND2KDB9);%LBK3Q\E[Y<$53>[3UK<[B;NG9AEC4K8(N7718$+[[6J7
M;@&V&90W3A4X2U.>B)@]\54]'8T@$:6&B%D-W[79;$'^D^N]=FJCNW!RA$=.
M/)C5L*Q77O^HFTQRMW_132-*!A&S#,A,$N'91D0)(F(6Q(#YQ1N8E.?'MYG2
M1<0]ZZ 20#3'F)0Y(F9SH 1P:,%_,!OEC8C9&Z^B0"\AI8^(61]]F: 7DI)'
MQ"R/_G#0AQE3#HF9'=*3$GH9*;7$S&HAXT(<84Q*,3&S8EH=]S8>6<QB]LN
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
M4$L! A0#%     @ "(&>3!\CSP/     $P(   L              ( !
M %]R96QS+RYR96QS4$L! A0#%     @ "(&>3&;S"V""    L0   !
M         ( !Z0   &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    "  (@9Y,
M2U0W.N\    K @  $0              @ &9 0  9&]C4')O<',O8V]R92YX
M;6Q02P$"% ,4    "  (@9Y,F5R<(Q &  "<)P  $P              @ &W
M @  >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    (  B!GDQSEQ1]10(
M %L'   8              "  ?@(  !X;"]W;W)K<VAE971S+W-H965T,2YX
M;6Q02P$"% ,4    "  (@9Y,WDXPQ&@#  #1#0  &               @ %S
M"P  >&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ "(&>3"9T
M#0V] @  # H  !@              ( !$0\  'AL+W=O<FMS:&5E=',O<VAE
M970S+GAM;%!+ 0(4 Q0    (  B!GDR(((X- P(  &D%   8
M  "  002  !X;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    "  (
M@9Y,0-5N74T$  "?%   &               @ $]%   >&PO=V]R:W-H965T
M<R]S:&5E=#4N>&UL4$L! A0#%     @ "(&>3 WT5K0- @  &08  !@
M         ( !P!@  'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0
M   (  B!GDS1<$\VM@0  ,@6   8              "  0,;  !X;"]W;W)K
M<VAE971S+W-H965T-RYX;6Q02P$"% ,4    "  (@9Y,9LHZ;4X#  #6#0
M&               @ 'O'P  >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L!
M A0#%     @ "(&>3#BJ#I#< 0  8@0  !@              ( !<R,  'AL
M+W=O<FMS:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0    (  B!GDS!J7[6LP$
M -,#   9              "  84E  !X;"]W;W)K<VAE971S+W-H965T,3 N
M>&UL4$L! A0#%     @ "(&>3&X:2'6Q 0  TP,  !D              ( !
M;R<  'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    "  (@9Y,
M8B&QX;4!  #3 P  &0              @ %7*0  >&PO=V]R:W-H965T<R]S
M:&5E=#$R+GAM;%!+ 0(4 Q0    (  B!GDQT]1D"M $  -,#   9
M      "  4,K  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%
M  @ "(&>3 :-]-&V 0  T0,  !D              ( !+BT  'AL+W=O<FMS
M:&5E=',O<VAE970Q-"YX;6Q02P$"% ,4    "  (@9Y,;_YSV+4!  #3 P
M&0              @ $;+P  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+
M 0(4 Q0    (  B!GDS:3EI,M0$  -,#   9              "  0<Q  !X
M;"]W;W)K<VAE971S+W-H965T,38N>&UL4$L! A0#%     @ "(&>3-=S +JT
M 0  TP,  !D              ( !\S(  'AL+W=O<FMS:&5E=',O<VAE970Q
M-RYX;6Q02P$"% ,4    "  (@9Y,K;!HA[4!  #3 P  &0
M@ '>-   >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    (  B!
MGDQ<+:^=M0$  -,#   9              "  <HV  !X;"]W;W)K<VAE971S
M+W-H965T,3DN>&UL4$L! A0#%     @ "(&>3,B;C+>U 0  TP,  !D
M         ( !MC@  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4
M    "  (@9Y,/($J1+0!  #3 P  &0              @ &B.@  >&PO=V]R
M:W-H965T<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    (  B!GDRL%4</M $  -,#
M   9              "  8T\  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL
M4$L! A0#%     @ "(&>3!0D:F"V 0  TP,  !D              ( !>#X
M 'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    "  (@9Y,XQ L
M8,<!   X!   &0              @ %E0   >&PO=V]R:W-H965T<R]S:&5E
M=#(T+GAM;%!+ 0(4 Q0    (  B!GDSG99"YP@$  #@$   9
M  "  6-"  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @
M"(&>3&IX8>SB 0   @4  !D              ( !7$0  'AL+W=O<FMS:&5E
M=',O<VAE970R-BYX;6Q02P$"% ,4    "  (@9Y,^J?'++@!  #3 P  &0
M            @ %U1@  >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4
M Q0    (  B!GDQ>XZ4\Q0$  #@$   9              "  61(  !X;"]W
M;W)K<VAE971S+W-H965T,C@N>&UL4$L! A0#%     @ "(&>3&ZW18FW 0
MTP,  !D              ( !8$H  'AL+W=O<FMS:&5E=',O<VAE970R.2YX
M;6Q02P$"% ,4    "  (@9Y,E1+KO-P!   "!0  &0              @ %.
M3   >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    (  B!GDR.
MB7RKU0$  )T$   9              "  6%.  !X;"]W;W)K<VAE971S+W-H
M965T,S$N>&UL4$L! A0#%     @ "(&>3+\BD?3? 0   @4  !D
M     ( !;5   'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4
M"  (@9Y,__-NF+0!  #3 P  &0              @ &#4@  >&PO=V]R:W-H
M965T<R]S:&5E=#,S+GAM;%!+ 0(4 Q0    (  B!GDP+6U;AN0$  -,#   9
M              "  6Y4  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L!
M A0#%     @ "(&>3,; 9_YE!0  'B0  !D              ( !7E8  'AL
M+W=O<FMS:&5E=',O<VAE970S-2YX;6Q02P$"% ,4    "  (@9Y,RK0L_C "
M  #]!@  &0              @ 'Z6P  >&PO=V]R:W-H965T<R]S:&5E=#,V
M+GAM;%!+ 0(4 Q0    (  B!GDQL_GOI\ $  .@$   9              "
M 6%>  !X;"]W;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @ "(&>
M3#9*L'7* P  ;!$  !D              ( !B&   'AL+W=O<FMS:&5E=',O
M<VAE970S."YX;6Q02P$"% ,4    "  (@9Y,6)G.SDP%  #:(0  &0
M        @ &)9   >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0
M   (  B!GDP1B9-:,00  #<7   9              "  0QJ  !X;"]W;W)K
M<VAE971S+W-H965T-# N>&UL4$L! A0#%     @ "(&>3&QF1%63!   #!H
M !D              ( !=&X  'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q0
M2P$"% ,4    "  (@9Y,B"0TN0("  !Y!0  &0              @ $^<P
M>&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    (  B!GDS? H86
M\ ,  * 4   9              "  7=U  !X;"]W;W)K<VAE971S+W-H965T
M-#,N>&UL4$L! A0#%     @ "(&>3"*C9!,$ @  :P4  !D
M ( !GGD  'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    "  (
M@9Y,FP+TE?P!  "D!0  &0              @ '9>P  >&PO=V]R:W-H965T
M<R]S:&5E=#0U+GAM;%!+ 0(4 Q0    (  B!GDR)NS:C9P,  &L/   9
M          "  0Q^  !X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#
M%     @ "(&>3/]LQG1) @  B0@  !D              ( !JH$  'AL+W=O
M<FMS:&5E=',O<VAE970T-RYX;6Q02P$"% ,4    "  (@9Y,X_\Y/@\"  !L
M!@  &0              @ $JA   >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM
M;%!+ 0(4 Q0    (  B!GDP%Y+72IP(  +@*   9              "  7"&
M  !X;"]W;W)K<VAE971S+W-H965T-#DN>&UL4$L! A0#%     @ "(&>3 [W
M_+@:!@  Q"$  !D              ( !3HD  'AL+W=O<FMS:&5E=',O<VAE
M970U,"YX;6Q02P$"% ,4    "  (@9Y,O5I4_R,#  #2#   &0
M    @ &?CP  >&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    (
M  B!GDRYU49O%P,  &P,   9              "  ?F2  !X;"]W;W)K<VAE
M971S+W-H965T-3(N>&UL4$L! A0#%     @ "(&>3%QJQID) @  _@4  !D
M             ( !1Y8  'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"
M% ,4    "  (@9Y,B8>=Z&("  !4"   &0              @ &'F   >&PO
M=V]R:W-H965T<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    (  B!GDS4H!^84@(
M )@'   9              "  2";  !X;"]W;W)K<VAE971S+W-H965T-34N
M>&UL4$L! A0#%     @ "(&>3+T=HK>Z @  K@H  !D              ( !
MJ9T  'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6Q02P$"% ,4    "  (@9Y,
M:(\NUU("   K"   &0              @ &:H   >&PO=V]R:W-H965T<R]S
M:&5E=#4W+GAM;%!+ 0(4 Q0    (  B!GDPL,!IY\0(  (4,   9
M      "  2.C  !X;"]W;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%
M  @ "(&>3(7"ZJP. @  @P4  !D              ( !2Z8  'AL+W=O<FMS
M:&5E=',O<VAE970U.2YX;6Q02P$"% ,4    "  (@9Y,[TBVY>(!  !K!
M&0              @ &0J   >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+
M 0(4 Q0    (  B!GDP":3^<)P(  !L'   9              "  :FJ  !X
M;"]W;W)K<VAE971S+W-H965T-C$N>&UL4$L! A0#%     @ "(&>3 *<;$.M
M;   ;KL! !0              ( !!ZT  'AL+W-H87)E9%-T<FEN9W,N>&UL
M4$L! A0#%     @ "(&>3'@C3("E @  %Q$   T              ( !YAD!
M 'AL+W-T>6QE<RYX;6Q02P$"% ,4    "  (@9Y,W+Y3J&\$  #*)P  #P
M            @ &V' $ >&PO=V]R:V)O;VLN>&UL4$L! A0#%     @ "(&>
M3+$$^+H8 @  ["0  !H              ( !4B$! 'AL+U]R96QS+W=O<FMB
M;V]K+GAM;"YR96QS4$L! A0#%     @ "(&>3)>*BVSH 0  :R0  !,
M         ( !HB,! %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&     $8 1@ <
)$P  NR4!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* 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;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='UTF-8'?>
<FilingSummary>
  <Version>3.8.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>149</ContextCount>
  <ElementCount>290</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>60</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>12</UnitCount>
  <MyReports>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0001000 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>1001000 - Statement - Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedStatementsOfOperations</Role>
      <ShortName>Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>1002000 - Statement - Consolidated Statements of Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome</Role>
      <ShortName>Consolidated Statements of Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>1002501 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical</Role>
      <ShortName>Consolidated Statements of Comprehensive Income (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>1003000 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>1003501 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>1004000 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>1005000 - Statement - Consolidated Statement of Shareholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity</Role>
      <ShortName>Consolidated Statement of Shareholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>1005501 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical</Role>
      <ShortName>Consolidated Statement of Shareholders' Equity (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>2101100 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>2103100 - Disclosure - New Pronouncements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/NewPronouncements</Role>
      <ShortName>New Pronouncements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>2104100 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/FairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>2105100 - Disclosure - Cash, Cash Equivalents, and Investments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsAndInvestments</Role>
      <ShortName>Cash, Cash Equivalents, and Investments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>2106100 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>2108100 - Disclosure - Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/IntangibleAssets</Role>
      <ShortName>Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>2109100 - Disclosure - Warranty Obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WarrantyObligations</Role>
      <ShortName>Warranty Obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>2112100 - Disclosure - Derivative Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstruments</Role>
      <ShortName>Derivative Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>2113100 - Disclosure - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/RevenueRecognition</Role>
      <ShortName>Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>2115100 - Disclosure - Stock-Based Compensation Expense</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpense</Role>
      <ShortName>Stock-Based Compensation Expense</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>2116100 - Disclosure - Stock Repurchase Program</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockRepurchaseProgram</Role>
      <ShortName>Stock Repurchase Program</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>2119100 - Disclosure - Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/Taxes</Role>
      <ShortName>Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>2120100 - Disclosure - Weighted-Average Shares</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WeightedAverageShares</Role>
      <ShortName>Weighted-Average Shares</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>2121100 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>2201201 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>2304301 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/FairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/FairValueMeasurements</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>2305301 - Disclosure - Cash, Cash Equivalents, and Investments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables</Role>
      <ShortName>Cash, Cash Equivalents, and Investments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/CashCashEquivalentsAndInvestments</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>2306301 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/InventoriesTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/Inventories</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>2308301 - Disclosure - Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/IntangibleAssetsTables</Role>
      <ShortName>Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/IntangibleAssets</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>2309301 - Disclosure - Warranty Obligations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WarrantyObligationsTables</Role>
      <ShortName>Warranty Obligations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/WarrantyObligations</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>2312301 - Disclosure - Derivative Instruments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsTables</Role>
      <ShortName>Derivative Instruments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/DerivativeInstruments</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>2313301 - Disclosure - Revenue Recognition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/RevenueRecognitionTables</Role>
      <ShortName>Revenue Recognition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/RevenueRecognition</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>2315301 - Disclosure - Stock-Based Compensation Expense (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseTables</Role>
      <ShortName>Stock-Based Compensation Expense (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/StockBasedCompensationExpense</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>2319301 - Disclosure - Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/TaxesTables</Role>
      <ShortName>Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/Taxes</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>2320301 - Disclosure - Weighted-Average Shares (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WeightedAverageSharesTables</Role>
      <ShortName>Weighted-Average Shares (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/WeightedAverageShares</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>2404402 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail</Role>
      <ShortName>Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>2404403 - Disclosure - Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails</Role>
      <ShortName>Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>2405402 - Disclosure - Cash, Cash Equivalents, and Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents, and Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>2405403 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>2405404 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>2405405 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>2405406 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>2406402 - Disclosure - Inventories - Schedule of Inventories (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail</Role>
      <ShortName>Inventories - Schedule of Inventories (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>2408402 - Disclosure - Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/IntangibleAssetsDetails</Role>
      <ShortName>Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/IntangibleAssetsTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>2409402 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail</Role>
      <ShortName>Warranty Obligations - Changes in Warranty Obligations (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>2412402 - Disclosure - Derivative Instruments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsDetail</Role>
      <ShortName>Derivative Instruments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/DerivativeInstrumentsTables</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>2412403 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail</Role>
      <ShortName>Derivative Instruments - Outstanding Forward Contracts Table (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>2412404 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail</Role>
      <ShortName>Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>2412405 - Disclosure - Derivative Instruments - Offsetting Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail</Role>
      <ShortName>Derivative Instruments - Offsetting Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>2412406 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail</Role>
      <ShortName>Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>2413402 - Disclosure - Revenue Recognition (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/RevenueRecognitionDetails</Role>
      <ShortName>Revenue Recognition (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/RevenueRecognitionTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>2415402 - Disclosure - Stock-Based Compensation Expense (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseDetail</Role>
      <ShortName>Stock-Based Compensation Expense (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/StockBasedCompensationExpenseTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>2415403 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail</Role>
      <ShortName>Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>2415404 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail</Role>
      <ShortName>Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>2415405 - Disclosure - Stock-Based Compensation Expense - Nonvested Restricted Stock Shares Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails</Role>
      <ShortName>Stock-Based Compensation Expense - Nonvested Restricted Stock Shares Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>2415406 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail</Role>
      <ShortName>Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>2416401 - Disclosure - Stock Repurchase Program (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockRepurchaseProgramDetail</Role>
      <ShortName>Stock Repurchase Program (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/StockRepurchaseProgram</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>2419402 - Disclosure - Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail</Role>
      <ShortName>Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>2419403 - Disclosure - Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/TaxesDetail</Role>
      <ShortName>Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/TaxesTables</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>2420402 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail</Role>
      <ShortName>Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>2420403 - Disclosure - Weighted-Average Shares (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WeightedAverageSharesDetail</Role>
      <ShortName>Weighted-Average Shares (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/WeightedAverageSharesTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="cgnx-20180401.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>2421401 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/SubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/SubsequentEvents</ParentRole>
      <Position>61</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>cgnx-20180401.xml</File>
    <File>cgnx-20180401.xsd</File>
    <File>cgnx-20180401_cal.xml</File>
    <File>cgnx-20180401_def.xml</File>
    <File>cgnx-20180401_lab.xml</File>
    <File>cgnx-20180401_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://xbrl.sec.gov/currency/2017-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/us-gaap/2017-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/country/2017-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2014-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>80
<FILENAME>0000851205-18-000007-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000851205-18-000007-xbrl.zip
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
ME.(8+,7V2M$?]T:#;_]P;\]A_*?,_.#>7M!0;^\4FJ&^*%-OAMU6^-J^'7<
MQKF;;N_,#/TJ_IJYWRC$2RC$,5B(K16BO".,!_W[$XMBU^A!><L\6Q<T_%L[
MB&;XS]$=+ S_^T&_,VZ/W@T^%H,OW78QYPGNDR@F&9>/]T4;1J9='E[WL7\[
M.<KPQ'*YRW@MW<+6S#:JDJL*S+9>IS7HS.X8PM]F]YR/AFSD\8(40S4VY!1L
MR#&@C:U5I;$AEZ48JV#HQW;1:\';'I?$S7[Y?E!\Z?;'P]MO'XK[_N#DN@PL
MY7*N$&T#FQ?D8G92CP_%L+QN.O\$F_NP%'DFFK&&PPM1BL4^.HU&O(!&/&?K
MVL8CO*A'>,[N;>9/ $6?OMT7V1P>=-O Z\=1O_VOTQK71RP]GK493\\RB'MO
M;+8$W3?C> GH?=%0-Z-^@B9X2='DA>U*/;&]H"^-OY?4CV^U8;\_'+V[FNRJ
M^M0?M6[/4$>6LW@ASF!'.S)-]16WM]W>]:K*W3-2D6G6;QMV&RO2N)UC=#O'
M8%]V4)C&OKRL?3D&=:D!:QN4<MYN9[N$4[B[O^U_*XI)</?N/LGPM!1A1=BZ
MDJ^S23R]OVWUWK;NYI:39]9PCN5TSVD-YSQ7,UN_CJT+,O%;Y1V;Z7R>"K!H
MS#_>M ;%A^)^#("Y-2S>#U+%Y]V#*<@OW0^ZM\G-G)8ZK.9S9APV,7J2YGXV
MVK'X3%3](8?'!^/6X%MZV;F/>L[K<PT\>4W40?U\_:G>ZG4N20?6\WT9CB)9
M#OX;^[@/];D8?7E&@\%?8WSHP*!Q%$?B*([),#P=039:<G(X<K]PXMP'_=G\
MP5'9A24J,LVM?FI]->/137\ ["SM<3;M-#"5RIIGJQS5P\+6I.NHZ]_==8=I
MT(K!\,V@N 78=EHJMEQ.>:.R>4&MTZHG??HA:?:PH+9!SI>AX3,%_X]6;RX7
M7E4/#V&0WA9_FO:D<4:W=PW&H <_MB?+"L-'BOMP4[FI9?C[?0>(@R\(+$Y+
M>7<2P8-2;26#HU4L?.*F<[+>-;_4V>^]NX(G)C^=8.>*([>@VXK[:/5][[D%
M]1L!F$3X@T:./P^+?X]3I09XFU&V(+%P_;34<P5S<PJRC+OG"Q7( ]O[23DO
M#NZ&6&'=RMR%:,BF**/NXF6CI:NQ7-)2BBY$P8YL<!<=$GM-T4X.Z>'V6@YI
MW.M.5>%F?#4_AG=%:S@>%#]VAWU&L/SAY]]C^8[RTL-;TTN6O/+Z\_VZ5_YD
MW^_\RMYX4=G*1V<,PX\[OW0\[+PO!A/3,__F3O<+J-Z\[-,3;\=W8(!&_7FS
MDO/V^T>?D_&_'A'R^$5S7_!%KP\0:>4W9LJ1R!UN^LC"N\I+%6L;)-.^6:L4
M[N?=E6)*]^H17,77AM?.2/K'?[S_8QW%<+GVJ__SP]_7O1HN[_SJT9^==:_\
M]/<E6K3AE0Y,P'5_\&W9>R<>M+QA]^D\Z(^73NC):R=7ZTR]=0)8.HT67SEM
MG/*EU;UM?;XM(,1)9_%\+-IC"$*ZQ= 7GT>_MD:SOYFK43&(W2_%'T5K,+3%
M%41$'U-B9_+WV.H._JMU.RZ^FQG*#\750Z[_U7>=HMV]:]T.__;J-7TU#5I;
M[=%K'0+'WAJ"N926122$B%H8IJA%3K%7WR5:)^^:,*P8(^#F_OK](4A_5I%4
MH.#7UC_[@^1-A^^NTNM-KQ/^/0;O]_#5N98^U^F@ =OO=<J^+*LDZ[BQ.@HC
M!7S.><6]F4F6,2DP693L1<JTRJ<-A\7(MMK_*CH/=VP0,"'4<10=4<)@&S3!
MA,U45S$A^** .9*7JKH/A=Z#^SYX[B(I\-:"=EI:XKEAS"&* J/1ZYDFT^@X
M7A0TI1)=N*!_!8FTN_>MVVTL!><N&DRH5A8C;R4W(93R=<['QE+,AW#]+\4D
M$YANWEJ%DRR%C2H2:W'0%OR<*8TQQC*S%1<MXM\_?AI,(,NW[>5K:,":^1 9
M]C$8Y)$L55AB=N3R[8\'<^^M/E,34GD?L-!1PG]!("A@\^#X 6RY15D028BJ
M:R\WD?Z<$CDTHO*:.T&CLEP&@*I6,TEG#E\J&57F\#7%%RG7IZ J30R)*$8J
MI.0,N\BY+;67:8LR[:547+20ZV&JB /(.!!*J(Q$@6;[F<&DF%&=&0FLM+AL
M9=X)4CFL-0J."P!5TG-.@I_Y^U1YR?5^_-%9R+4>H&+&..2I"3Y2SJ6GU-'2
MX0M!,S-QP0*N :>BU)%3K2D)BB?@2I K0UM "WN*" XCW7>]R6NF+_WT9_\I
M4 HI'J.0WH ;BI$3+E 5>2J<.R,L!/BCFF9R/>'/)HQ#HRCDO<?"(F>T%3HH
M*F(9"E'-?>9Y+DJ63T%.@?@HD6*>.LT8$JZ"IXQ:QT*6)@%X5=>EG[I\ZX$F
MCU1@Q%B#P*%3*;'3E>H&;7+0A 4AEV8.:N$E'ZU4U#"/E=74$1=)K-RY<OM)
M5I^Z1.LA)614"-YA3Y0T$506.59"4>9=[L.0UOQ"=;8&5+)818QY$ Y31KVV
MM$Q.4^6M%IG5%8@=D70_W0R*^:16!<KJ(J;H D25R#LM(_7<!H_*\#UBD2%'
M1A2K&[]OIOU997)HX$29XTIY(H,1-E"D$4?E4BEF>C^@_-1E^A0 9223 04K
M-<?$"$:LU=5:M%795!:\]E0^%S'77-"CCDMNE14"RV@%N*A2DW5*2N4VD]9>
M]3\72>\$IR!>=4%X8W@,P09')*O23Q3L2&,JG@RK- 2N%(2)%>+.JX 5Q:6(
MD0U9M'71(JZ!JYQ06"B$M20H8I6J@ZIU ,7VE((ZF'QGX&P&U:JOU 1506'&
MN>40#!%LC538JU+7A*<VCSLQW%G78&ZB_3E%<G!,%;QBF(N$327$\%IH7T7T
MSNW)4)ZT1)^"J*@W4@?'B"#1 G+%G%?B==YFCE[HVNF2\Q!R/3PE.([<84.X
MI]@8)BRJ@&MD^8J_E@Q?IGFHA:98\"PJJ[RW LP"TIKQF19C0U56?X8IJUM/
M<1[2K8>H+/*,$ZH1,Z"@"@.L,F4FA1.9EU=(IB]:S#50%37>$>^P) 0LL.*8
M4EU55\20E5L?6+JN-;Q)_T]L?H'7]D;#CS?]P>A3,;@#[G_I]Z[3CV]Z7XK9
M!O%<@O(WMCH.HI)$%5G4V&)M9)2VK"[7EK"\NIQ(K>9B^MWIVRMK:S&AX!',
MN(+0V!L>,.6F+$;2Q#&?L0:QBB)[82U<717MU-NZVKC\ 3S6AP+H;W=ON],C
M6-->E,^M8=%Q_;O4-WWRV_"U70R'\( M>L55=_2^&+3AU8\Y?V@B/<\\F?=W
M@6A %B$PH2A%1''OD K*8:HE,O/5%>6N)_072F><[YW\YQ3,=)/_*L& \G(3
M(C-<@@>B$/TK/!$,(=KAB)<*!C^#8,J>J=/C5B<OL8LO21^Z[G7_ITA;RKK]
M3FJ9/72M^^ZH=9M^:^[2WON-L^3-VS@?1AHA"-=*82V0MXX!U"_KG+BDF>\N
MI\<>*5XKA4R4;_N3&0</I_:SP\>71M^*T>)'P<;.?I7N6:TQ<[7(W >J04&\
M<"@"6@PS4$Z1B$B\^O$]^4/Z-8+8-]$/$AJ.8!3A/>!FKHHN>)4BJ2#\[??9
M!Z8;EU.?$'-["Y_]6/2Z_<&OK5[K>M(C9*-ZS$\7+(T6$C'EJ'%(6L,)+Y7#
M@'"63Q=22N;)Q-;B^TD<$\>QU\%3(934..T51A7'VLNE'"-5@^/5O'Z][TX;
M6$Q5X=W5PH[T52I<N]_T//LD>LX8(C9"1 I>!)>JCX.Q"%0?HS]*;C<16K$4
MNR"TXA>PG)TWO5&K=]T%I#2)EX=@ @:C[O_,K.3D )$)1DJ Z&/WZVX^GP%@
MXT0(X " FQ1(RK2:Z /GQEIA,H1,Y_;!U">R)I^U6#0!(V/ (OEHK>*&8T<3
MBT1HX2++5JNUTG597.2N\GKA:VNR\1=NG>#6WWN=8C#WRW>C&_A[VJ .B'<+
M@\N(!+?#:2!8<FR$!GV;:9V)!$!WVI%.OQO=#/KCZYOO$OR9,52/I'F.4H!0
M^&+Z)P@%XK)A"BS>%[W6[7KZYT:(S8=I3F$)LR=@\!4^IJ4%6W)C%,L2L_-[
ML;8A**/^3>\QU)@,GA\7G_H?BB]=\$0KS-(2UG)8^4CY,-,"K"-Q*G !>F<A
M:B@+_+51600J),UYJTWN(1E?,J:/ZCV%!+,HN24$R<BL)'+F"(G&**^FQ40=
MA/-?NJW/@#1'WR8NI5T,1JUN#]3_?7\X 0H[QD@$XCF%=( 0$.(CJY'&I7\W
MPH0L1H+@;ZX682,Q%=F_MKYV[\9W#UH]-V_GA7 [O9J.EQI\V7*8^/Q&/93B
M'*\ UBL.0T6"+,-90T7(IMXDR5?Q4Y/*!R[!NCX'EP*"<.9"C%98 I$,#%^9
M;B/"ZB6K'8^XK$=EQ>7;">QY=_53VI0__'MW=-/ME=#B??]^?-O*8?;&*,1'
M&:D$6^*Y1\H$$>-LMP7!5L3Y//BL54 ),K<CIZ+^?>M;V4?/=Q,DFTRR_I4=
M#[L]"-'J&$7M"?A>2C%80TJ#CJ&:1,'X?$..GBLJW4S/DTC?8-8$L<)CKC'1
MA 8,P(E7.^&B9W)5\+<#U<L#0S,8 /J8X%[[[>&6V7LG^'6&E,-7")6[PY1:
M,]?7@^(:["%XQ4&W-^RV:RP5.DUP],$KP!68VTA99?*DIB3/57,AY)S1.SP_
M>Q/=?TTBCA6YU2T4VP3)O"80_^E@DL>SK(R%#!$J\PX8W(/<GZ06R'\^L6R8
M--PZ[CP7V#F'O-#256*1$:*D;+YS(=DSB66XQ8N'6ZCFNAFVA>9 6**QCL9X
M&;PE"BQX"8&EA!FW) YC=$%$AV'E9<2U0:.<,!$;0U0$$X0M,Z2*?R2 RTQ<
M1"&EGEE<*;+/F^>5%FSJA?M7T\\\W-=9OZ#SY ;G*Q60.1FY1EXC#*#0!Z5+
MQX8I>I3&*9M&8<GF9VE-?C<(;(M%KH/)!/R[E9)0Q)50H&N6V3*&07 I"]ZF
MJ'&32!ZK":#(;RG\[H,6COK%0_S]^=LDE(40=M;J>I8NW2([ &A*I$I322+B
MS""C7"B7/0F1<I(=8,NR SM34_'Q>V]0)61'K:^?IUG[X4W_SUYK"./3&;?3
M>T;]7K_7'@\&\/Y.<57 #^GVUB2CLB,N<0JF/^=<8L1D&AU69MXL8CC')6B^
M)\$^Z*V83QZFV[N>-OB#_U[U!W<MB.\F6>V4C1ATV^""ADD?)O+=)J<>M) P
M?@@8M(()I>ALPR2)+ :7$HME7G'G[R^G'$+I)Y&LM3,(Q,\BX\@"DJ]B?M [
MFK)2[^E2DM=^.-':*;H_&+#!G62'XVWK>@MJ'%:,6Q0@PO!:3!QIU4Q)6B]>
M_7@%2E7\]?OLY>47W73<8W?8;MVF)%F8-G7<:@IR+;B'$-I1%:D!>53AF22"
MO_KQ]6M,7E,\_?RJ+Y64^'Y[?%?=,$T>1_C=-J,"NN(("Q!C 7;7C-(82U^I
M,7.@2+_-J%CYE>5D)#JW)8)K;T.@2E@<D9(@"UJZ%X*$"1.3I):147UED8@I
M?=L/B95"!0*60GM*@HD&ERB4( UF_M6CMM(KO[1(1EHUV.+KP+0*V@:IH_*>
MA+3KKU0(I&A,]NGU;X^_FUY=?FZ2B?WFX+>#UNV;7J?X^I_%MRV^BXVT!B,P
M($P*9A07J*J7\QZ3QSU>5WYI@8S^W5V_-W%O4W_^;CQ*S6\[,*-WS&,$H@A#
M :)HS+S3 ()U*$?%F4?U% ^X@^@4;Y-']*XAZ3'QL7M;#,J^B]N,G/?*&,H%
MA"7<68M\V1> &IA5(,%?6H/KXCO3;A>WJ8DH8+C)-^;)>_31Q_1\**XG#=A[
MH]2C?0N"E(D^>A0Q-X:E&1Q=V6A#,TW S+IW/[T-__V=>_?A_3P1C[^4J%@X
M^& (2#=!VIDYVJTR)GIK;8 P3T4O7% N/O3\(I;G41YE8AK"K*>B#IUKUX/
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
MCN98,R ';GV6&G-!H!^TQ"E#9(2+9;]I:FB>#<GBW&9,]M4F#1PM!<0I$#.
M72R+NL0L- 4)RSIV-J-PN'9JGGOBK(G2,T))M,ZA*D]H<+[6L+AJUPS)GAO:
M6@CY4; < #) ^H@)KIQ')#FDI^<X' ^[@&:MQE[6H6O)8#($Q!CQ02GAN"SG
M"&8R+S_CS9@\Q]F$WD:D /-B8I0RD?CR,!B 63)D,(NC9E@.Y]8U82XREY*P
M0A(0OZ^:3QN P<M:)#<C<> C?;#T+E*LE><188@]4+G5T3L9\O+'9GX<VKMK
MAB &@=A"**L%4=15^Q0PX[DG.<;Q2#5E-=-%::<:C5$8:](>.BV$*]F/1MO\
MS&FRN!2U#YJ?1PC'FR\"X5O!8\HW6F3U9%_Q;!14D''9J;.-_ ^%+9V5U'@I
MA>8N6HN8+]ML$L26[%RBBQL'FA'9.[($P5N)O=#,IRJ P%@LR](9%SXK!E6T
ML5('@I6(Z, $@$KG%>682E1Y#$N(6-)RKAF)PQ]I%*+A"AF%6;!,VUA%P\;B
MK.1.[B=%<1E#4@-3&LUCJOOT MF@"*5,S$H7B$0F9AFC\QN+(TL7L4@1=180
MO:5&6>8PKHY5TS9D$X0L%BXWHW(0MZYA*(((J8L.5IIA':JV!!B\25:<1.1^
M,D:7,RX[N7;BI.*.1B^YUU193DG93L5H;S/D>YZN_>BR1MRX*)ER7',BL"%:
M*EV=(@=A^V&2W9<S*C4\/&/("\Z"89I(+=C#^30$1YX;+K98'7J"@W*@W(?!
ME%K"400%YX+#-X,KRR"CEIEOOA I/@7N1"2"1R$0AKUTGBNMRUXZ6"B1MT,G
MEZ.=3P,LZ22YZ$@4*B@;HB2^;#C&"%4NWY*)T>6)=B?,06'^V[2\;BES'A.M
M0ADK>1[SS1 7J*KU4 ,6 J>ST@!0QRA\=%I5Y;:.+SGN83]E)*<DV#KG\+G4
MZ!.G?B4X6FD"<64D"3%C?@[?2SO^Z2:(8G+"E6T-NSL6D4<P7]9YE5:1;12.
MD.H\<B-I?IBST!SKG?!G1N#>F3O>91^A-.>1>:T45X F*3+5%#5QR<&9>G&O
M[ 7)]BF 2++4;D5H3U,I%\/&&E+58U.>N6W H;OE2,]2TC6+@)1VB'&I(B9.
M.1N]Q-56'IGW-B.24':Y)J,6: J!Z^"<)4[C$)AWU)?KQ0A3GK<-F[16O' )
MUUQ;H10L-%+!*YEVY6'"RH-W*8HHW] EI-QI1\U9RKH&LI*I_5! RE++'$2M
M:1=DE0OV^9X94.F=UMU?5LY'MB"2=M BA[WURN@8J T/K4,YS?-7,K5_;Z1=
MVRD"<$Z[CQ!Q00OE%,:&52E<O"2SCA2G)X1 CF4%PVB,6>I3R$Q Q@<K?2EG
M+*/*]%IC<4+0X^A6)BSG7&AI>-K?2(UG1%7]]YT1^=[923:L$7>]S$,4/'"&
M@XB(8N1)>.@&YW16(X@GW<H.)NV'YW8L.*58,<\%D<9HG=KTJ\H2>F2R!(K0
M5&UP/0^D/('@X\T2<!4L3U(P-* 8D/!EEH"E!A+YK@H0\5G)ZRE )_53Q@'B
M(TD,5<)I)JNU4ZQT?N*7($R<I?3J 1?IB48.82,%F'E$$:A<J7R$J&S'0HKF
MT?I,\JD*<"<@PIRP :?C(QC2G"@2RPUJ# 2W9*&(+G9V.1.IU0,6E(KHK70"
M(I1H TQ;5IYRP4PT>;]-49Z2=F[RJX$4?$RM4RB52 !>\!Q3'"OA>9'9/"HV
M+%(>7'9'%AU'8UTZ]9"0X"WU!.E8892(9#9Y)6=T?2G4*4NPGN,(FF"!(M.
M67E*ZAA?I=P5C<LB7HK71[RG+,3=UL0Q#MP$$4*:P4$X[LOZ#< S>3TW /WS
ME5P]!T(<M0Z<KTK-SF%N*NW*##GV$649<H$63Q\Z(Q'6\"%<6(6#@?!"&*Q\
MI,A62Y,^Y%U\,8#K#0N_NTK0@0"[O7%_O+ ,_KX_[*86;IC\"G?<#-\-DM<M
M!G.+Y^FV7<^]8-0 HG7*"+#W2$1;=BW&Z?B8+$[@V\*U)[+Q<K(Z=%P;1=3I
MO&I)D6#>1\\01C18@Y!)QV3L4/AWB=)^"L 1*AV728BGPF+#L:#EIF<*(R#R
MZ&3;!,SEB;_F>H"C(A5G:N&T3/OFP/"4YT +K?-3_/2V^/+R1F"WE7-F4U&"
MPA0"<AN%5K@ZPX ALLO6K$N6>3U0%@SAUHI)GVCM4QDB+4M#J/<Z,SN+'7V;
M 7@*I-,1A"\)HE0H08U$J?%#6<E@;+Z H-9WW#LR\<=6=[#Z&/O50)<Y)B/
M/Q6E=,IC62UA(8E%WE8^=03?%_:K:'X.$1P:SR'$% ;!>8RIH1%+5VZRI*GI
M;U;-> $2? I&2R7Q**2C<B&298 )+*^,)39+]MEC3A9[MY^Y6&ONX;"&>V44
M)QB#( 43U3EOTLLE9U!JKOBVH>UY"'8G2(4Y-EY;HA6E5CFN5!5,R.!EOA<.
MZVU3+><AS7I@*0: J4IZ,)W$>*PIJ\RI1E;F2R"$DGWAI=.0:PT,I!3C08C4
M%<,S'&A:42_3/);G/FJ2UCI2;?VE& X_W;0J=/6D_%>T2(&SL8P *O38$\-$
M913)DH.(Y=;YTB?R\7+".C1@4AI39IB-VB)"#;BALN\R(T:QK!2FD?;^$F @
M^*!CT%HKG5J5 @2HCC(,^8E]8D-'^$N6?\UM(C(@P9CA@6 !@X#22?)E- J
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
MAJ&*5*?VEEP 6D]'/GL@NN2*!)]E:>B>N++C8;=7#(>N?_>YVVNE5HS35HV
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
M>:K&#%Q61\I)0Y<;L)=B&GXYZ_R^Z]AB8X0"LZ2EL\H+0:PI%THTEV@_8_M
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
MTB"D!XI\T?XZ<);GULF@>^R&[13-1'0\>Z_#,AQ"[9J@7+^Y&P\,&&7W,M;
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
M"PZ$^ +D^2R^QSRM!RIAWJ'[7/M#5\XO^+ EJF-SR[8\WW79O/6_@5&757D
MF"K6#7OT7KWD-NV%K\OL8/'>[*(\I%JZ$QBJ 1MDZP$H(-VA]6EW5U_I5GE1
M'EI%Q370WPD>(HR8*M4TU[)5S3!,W_/JP^1@9IK^M7GH0)1=9A]_3(HB*S'Z
M<8:X?3N=VPH3<8=07[.P-2U8-3B8>'ZBW2(K_==K)EI+85\,&1W9@>6I%6WL
M@*]:&OB0A+B.J3NF13RW/C)$'<NQ[W<'#A1C+;''L@PS7(,0#FZ-S5R=,M6U
MZQ,2G-@!<;?),&*\5]E%-ZAK\NN(O6N!L9;W3G6IZ=C@H!K,M,"I-GA0F]@6
MX:XN]VX-GK\7P%S4A&,N!4_:(PX#26<P[F&6HMHCCZPT5+VH";>*BFN@OQ,F
M'#<LEQJN9=D^]TR.I6UV+?Y4MCY X_(FW($H:V4?%R-"LVPV*>' Z ZBM#ZR
M^PN\=9]P&E_)/&FJ9]M4MU7?4[&APJ)Y)??5Y2!Y7"CC$LW,:@'1^Z[IR@AL
M!O&6$6AZCAL8GDMUZEH4L_]L/B51-56V#8'TEA#X]P2[D.+<U'UI<,7<,=7
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
MMC@,=7U8V!(_/;EA]H+_HBK_$HX+ P-E\GS^^F=41I]A:<X8%/\>Q7BJQZS
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
M3]R*".A[/.A\+.+/TF0J9P-TRIGLO[.XQ3S1!U1MK6WCS7N#DMDDL^VO]]F
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
M+<_2+T#>N#=?PC1*9@#6ZQ2^@?W8Q -ABJ2'M+Z0(PNDEV^O&>I_LBTL V]
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
M#M34GU=BF557)?SD>.MWJK].NRU I+C,$518:['6,VR;8J"$-<+:$38<#&M
M>HTB?#O9D;_@"5HL:91PYMS'7-4=)?=L ZP&VA186[!#T0N"1Q$ M[3=H$OP
M('BT#1Y6ES:'CA3::[A%]E$5'<FJWJR4)=1FU%=R.=&VQ6GB_3KZ$DE>(O5K
M,DT:>1]4OV,,K.[IZ5L;MJ1(4CUM$Q*A)$+K*4*[0\/ND @E$4HBE$0HB=##
MPE5&U]*W(TDB5)^G7YOH6%%[:KY_$:W3G6$_SAGU6M.*^(KXBOB*^*H1M#I(
M.=;(Z=AN> P/(^;P.'SW4JV78Y+X>;)2Z;(VE(%I$*1K%T<@4%.Q,P(1@>CX
M3$KET>I7'JU5";BUJX)6#[)H"WU7-V.-,6J58*RU4%!;8L?U#[N<7+&3"" 1
M0"* 1 ")@!:(@ JJ=+5%#E MB%-7Z6K!F5F5_:&U6E?KS\A2U$U#U.U<L-4U
MS*&V.E\$+8(602MO-3)Z'6T5PEH/K3,/+!^O0EC#4*2U[E=;P$(QEK/%0\^P
M.A;A@?! >%!!>*/;Z1$>*/:V"[,<KWY66YP8C76T6N_"4'2 H@.[1P>T&7&$
M*\(5X2IO90WT%5YJ.[!>&7-KN#&X6KKKFKM\=L=C9JOR7?KV&RLIG%"7@^A'
MR ;9F8#-K7H@6QV[U%9=6(@"0_5-1B/A1<)K)X)U!T;/UA:'(^%%PHN$%PFO
MXR48FL,1":^*?,OO$P>FO^GY_9?JH&&52!;X(;\LRHETOEMAX3[P:XFF?Z0B
M\2<+C8PV7J\2;3 .;YGAN6\V29,T!H>T=-2:\6]S'@JN\D(P:3AB?I@XX;V/
M+.4(P1/!?(%>["0*0#8+=N&'+)E&J7!"3[Q]?S!IMLV[U&9%@G9R\ODA* ?U
MN=QI&,4S($R9XB8^4W0L^82Y/ BR9WYXTWDC/P,(W/SS!HK?^C,NV"_\D7V)
M9LZ:7GKTO60*?\*<,NP!K@)G+OC[_(\/3[&T'%0Y,E+@L;<QQ+5[;$4-:6A]
M]S+@-XJ>;$JG;=X[ZNL;4I?NE15VG@J/X:9SV_(='G>C6 J)]RD +D:HJ?[_
M!<*1?8+OO"*LM;2N;-,@ U1_?/VU91HJH.7SS+E66$ ?>RI=-XO2\/ER#'2]
MQ$L&PQ<^<U";QF@W3'P!)-![MT1]B%@[:&L7?;783SJ&V_B*\L0U\0@MPZ;;
MA@_Q]<YP'Q'DL;;8 8G=UB:J6L:@H^VDW?E*CAI9+%6*%(W5[NM#L.;*FM9D
M1QGF4-\N'=DU[;9K+&WZBF1-B^T:C<ERYRLY:J2F*Q4IU:>]DZPY/[O&-/HC
M*F-"=LV.0L@FNX;LFI<.:.G+"#I?N5$C)5V=0+D%BG-GDO"8;)L:R9NVV#8]
MFXY@5R.A2(D3?72@ZOSRS.7'$]Z W/S$\\T4//9%QW5ALI-GHF_Z^Z_?I^+R
MWG'F[S\7&==CF7!][0LWB$0:\UN8^,<@<O_\VW__UU^7CS_P,(GBQ8;G@) A
M4NL+G_SPYN8:D[G^;O[K]OH-\SWXPG&32\L<FY]&=J=C]3[9O=%P,!@/;T;]
M<7=H#P8?AS=O_O:$^F5*OI *O6GQGLV)'\[WOW)S#X;/2?52">RC#_?IZ'#=
MA"\P!3^:L&3*LW1[>#$EW!\AX7ZH)>&^;Y\V8[[?Z'S_1DV>7(&SSV@?'2+]
M1]LSVLOGMLBY(H[3R'&RT<$U:"@PN_GTA//(\&0E/G#26QIK$7<[B2/?Z*,
MFXG3M8Q!3]]I\3JP!E7OJZ=F/"-!1'+G22O;-D86G4&JS@1JDZ7SSRC^\](/
M+^=QY')QYO>&;%;;EF'JJ[G;%M20=WJ. ,GQ8&JK-MD6/) CO;'5C1_Z8LH]
M=A]%7C7W);P0VFE!,L]FM=0SC6Y77SV'0\G8%@"3MWF,S+KV@U6Y8*8Q'.H[
ML'+NV*0=.4H^:T+,^ER3ST9]PQY1&51RL-LNWDXNP>HGL$XODV2K_L 8Z3N=
M]R)AVB)EM*2X;L]9?9K;*A)Y;^)5X CA3WSN?5Q<P2!CQTU2)_C925*8Z.+:
M2?@M#F:?W-?.U>#C>'!]=6T/QU>]ZZLK>]17N:^6V1M==8Z>^UII/>C;E312
ME8TYC[E ZLH<4S#_N9OX#QSS&"15F0=D%7D.ZE4T XY=*+D+)!I\$,QY</P
MN[J<1/&E<*!/?[EHV75':YRU_^!E.M12XF_+B]J_8\JG/4(^K:4GH=;JGC2G
M=-CHA%B:.\V=YDYSI[G7:^X4J*1$;KU'!R0YH2>3+<#%H^ 1L5SE+&=>6@PO
M CEIXCMQVYEPFW5I$[<1MQV)V^S++G$;<=N1N*U[V2-N(VX[$K?U+@?$;<1M
M1^*VVRAQ@ETI2=G1&UM=1?$<;V+D["X*]TJ/UH[;6N00TOF^76AA=H:&;>K+
M=:C#RE-F=SWU'\F9,Y8S9M^P-.94U6'E2<Z0G"$Y4R\Y,QH87;/ZVUU(S)"8
M(3%SOF+&[AMVE\0,B1D2,R1F*O2:AL:H3S>*D9@A,4-BID)KQK '=+L/21F2
M,B1E*I0RPX[1UW>9=RU6OCZ%2MI62_(VYHY(XP6[\X.]RF:WM5*>:0^-_JBG
M"SYM00GE'9TM(FRCWZ':D80'PD.9&$/+M+1Q"Z&"4$&H(%00*@@5A I"!:&"
M4$&H.#-4F%W+L/259&T+(N@<TL96\F[R2YPJ!UIP%^L%OG2O]J$5X%M2X7W0
M,[HV99-53@#24>>'+1NP9=*F(V&+L*6_3K;6,MD$+8(60:N 5D_?WB9!BZ!%
MT,I;689M]PE:!"V"EFYH]8S.@.(8!"V"5@7IGZ;1'^B[HK7MX#KO[.FO"%@.
M'>]=#*RMFUA]HZ//ZFL+2&A3]VSQ8':,$9TF($ 0( K?9="E' ?" ^&!<N$(
M%80*0@6A@E!!J"!4$"H.0X5E&8.AMKHZ;0$$I4UO;/5S&OJN/W>"ZB*V;=D*
M&1EFC]+.*B< ::;S@U8%AAP!C !& "NV70R[2YOX!"V"%NDN A@!C !& ".
M$< (8 0P M@1DMYZ'3H,OBL!SCN'>GS/0W=!"=2TQTM[O+3'2Z@@5! J"!6$
M"D(%H8)00:C0=NYF9&MSR0D/A(>&XX&T!*&"4$%:0GM\EC9$7L<U=U'L\3B?
MO3W_QKPHO0LX^Y^._'<0 ;>N1O8V;&K"JT04^%[QII,'R.7'1RY7_2X*/-6-
MOMM.7R+U:ZY#K8*R&L7=9M+:]L#H6]K.IQ].X-KP)6TJ5VZ)5DU%$J@D4$\E
M4,U^W[!L?<>(2*"20"6!2@+U? 6J:6J]Q88$*@E4$J@D4,]6H'8M8]C55ZB>
MY"G)4Y*G)$_/5IY: \.R])V])GE*\I3D*<G3LY6G0Z/;)7>?Q"F)4Q*G)$Y?
M3=K^R#:&IK9RD210GR5?*77J^\0!NFQ\?L/??_T^%9?WCC-__SE\X"*9\3 1
M5X$CA#_QN?=Q<04OCQTW29W@9R=)80*+:R?AM_B26Z#(QR!R__S;?__77S?T
M\SF\YG?)./0^_3N%=I]#D<2I>H,CIO ]_A_^]N $^.WO8<R!P/_A'OSV)?OS
M1\</Q4^1$%P4[X.5"G$YOO#)#V]NKJV..?R[^:_;ZS?,]^ +&.[E1_.F/^Y_
MNKX9=\?7-_V/HZO^Z&;4'W>'EMDQK?Z;OSU9WO)2W?HS+M@O_)%]B6;.]DRN
M4O/ #_GE5*' M#K?K0![""BN$&M(1H/A?UF)F@9S0H^5EN-99CKZ5$HC=W'D
M_.G(_>7(<;V%+Q+NL6C"DBEGDR@(HD<8%+OP0_@F2@6T$6_?'SS)'=9X15]V
M@!!2)/BA!V.4G\N=AE$\@UF7:6?B,T7'$J?,Y4&0/?/#F\X;^1F$D)M_WI\[
M'WTOF<*?,*=,]H%<"YRYX._S/SX\E67+0943+PMY.-R8*KM[ZJ8:4M_^[F6!
MNU$G9%-Z9?/^:5]_3I,_*)67,G:7P[5?*F&R8@^M&S85T/)YD\@%&<CC$B5&
MAVB&T58=-Y['?L!,@Z&RUV55$L<1Q^6-KKG+9W<\9K9BLL$!MC=5@%\U[4Z)
MTUJ4,SI)+.(5H8:Z1A/ 93/Z9K=R$K4E'M"@ &OM-.+Q)%%M0E/;I7@MI%+-
M Z"RU6A@C'K5U^*K#<O4YR!HVPKU_0ST6K"9$__)$^8O8Z:'&/7M.3:]V2Y
MT&GS!ML"'_)ZSQ$@61)#G^H*',U!'S9;T<@-(]QI>;K_4@607K]#OI?)O;.9
M='+'=F3T!I1W5 _-2&XQ(5V3<#4[?:,W)&#75<6WR6.\C;DCTGC![OP@(#]Q
MDYJUP3(>]<@R)D^1/$6%B%['L ?D*Q[+5VRVAKF*XGD4.PFGZ[P/</&&AFW2
M#=_DI-5(6[4 ;;)5=V#8^NRZUF/KO/VDL1 \N<1%YC!E[N)I!I^3P[1I8ZVG
ML_I16^!#_M(Y(D2VZHT,JZ/-B&L+(,A=VIS"D8:^Z\^=@-REO37/R#![Y"R1
MLU0C5=4"K&79(<,.^4KD*^W"*U\1KB";0[HQ>&N) Z-C:RMHV!;4D(MTC@"1
MK2S3Z VTW>G1%D"0B[0Y%E?Q=?0ML-DV:YT*+M1KO2E'7A)Y27MD[AG]CK["
MJFW'UFO=I(8GT7^=1G%RF?!X5BY85 F^*BGG5[_TV<UJ[^@WQIU#VBPY:P3/
MPUP]/.[<UW?<F=!(GB+E'NK7FM; ,FPR9LE1K)6F;#[:,B78-SI4E.AHGF*S
MU1@E'^ZLM7I]P])W55A;X$/.VCDB1&7CFL; VKD@Y;D @ORE4V5NM,""VZQY
MS+XQZ))%1^Y2C715"\"FL&4;9E>;$FL]ML[<6ZHX/:0YV-GB(ADC*O1&'A)Y
M2+ERZ1K#D;;;QMH""/*0-K:JOEY2"VRVS7K'-OH=\H_(/ZJ1IFH!UM1VDFUT
M>_H2G-J.K?/VCXYPPK@Y\-D2RS/L+M6&)Q>)7"35JFM8^DRWMN"!:L-O9I:?
M(AQW';+:VUXM>HN?U>L;YO"(";9G73Z:_+0Z),BW'>E*"Z.;UR5@UU&]DPVL
MA^=>;1BW\5;678G6P-M9AQW;L(]XUT5;I!,)(A)$E=^[V@JYH\2,-3!&0WV[
M3^<B9DI&T/>) S/<]/S^RW'0L$HD"_R07TZ5+C&MSG<KG(CADQ)-_TA%XD\6
ME>T!P^J&PA<)BR;,XW=)Z8 &\X5(N<?N%BR9<O;[NZ_OV#W*R1!C(A^@Y<KQ
MQ-UZ J:; KO-.$S+E7?P32*5L^M&,^ R>/H#8\[F(R//O0*X-("QQ$"V_ZA7
MS2-@7'PTYB[W'W#]X6/,@L@)!7OT82!NS#T_83R<.J'+U;1FJQL,NTU+)$@'
MG$X0 =Y*=(+.$_GT!_ T5O*35WKV89")>L&RUYPTR]Z@%WR)4TH26^DF)RQ,
M,V\<W0$C.8D/3^$CI9')7G >V&7I>S&'9Z&UAV/G\3SV!3R43)V$39T'7GX4
MEP@X]QUCXR HD\:).<PFC&9^")3QF!\J!KK&98K%.VU8T0@,8/()#"]ZA/Z9
ME!=,I+.9$\-S0F+@2O+HHJA$-/@ ,WUP_  ?O@2*7PH'6I4BA\#*2/6UZ>X_
MO#&L0[ T)4R#61US?9MG_X[9!2Q.,HU2 7P@WKX_>&FV+46IS8I=TLE%G1\"
MJZC/Y4[#*)[!F,LK;N(S1<=JC5P>!-DS/[SIO)&?06&Y^><-Q+CU 2?L%_[(
MOD0S9\W:>_2]9/I^-'HW[/0Z_:%E]6%^P]YWN>:4LF8N^/O\CP]/M>!RB&7G
M>ZE)^QL#,;O[[VJ$W>YW+^OJC8:!:F^^LKEUVM>?MGFS1T^3;\KD*9+WRO"\
MO5=X?CTD7 $MG_>C7&EVE2@Q.L2P&6V-6HUG$= !K.1MCLQ5)!(*Y1 G5LZ)
M/\:1$-NX\/<0/-7@.3[]T?'#??;FB5&)44_"J#]!Z[TJ7A"G$J<>QJDWCA\O
M2?H/)TCY >%2.C13*BM0%#I]/C1R*(<>D89-@'9MB-5>F4@<1QQ''$<<1QQW
M'AQWYI7J#S[U7.TAF.:GV#0G@\:T\79-NJ*)(@U:537)@ ;)@ KNCR(Y0'*
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
M;(XB#RT \'9S@_)*KM'B?T5)@('IEI14<V:9@U0_$Q4WN.R _?;F"_"9_X#
M0,7V2Q2"D(/N)%)N>&8%_"J!=@7> C[T&V@^/YVQ\0S75KE)2.G?TAC\!P$,
M<@4@E3U@W(1]7>*Y6<H12;2#<I3236H8?QDSDA(D)\-3L:9:2)8-T>=$,J*"
M0'?L#AQ V9I_RTV[1 I97%+54MFKSD+V?;=0:D*(E$NEBY\ H3CH1 Y!6;H7
M65,#GW%0K.(BOGWW@@@'@1$G/,S'L%SP#- HREP>HV38/M\I!^*47_N.?044
M2_<(?"<CZ[T8PU)O\+P%TO^.EXB5F=SK,\V<UU)W7B0E1]XKTGR)$.7RRGEL
M'#$*!GSV@W(:LD_2'O;#5#'&TX&!&,*.%C 4]ON*:8%6A9'/:2EYL$NI$[>2
M\)Z'X JBHXG6UAH9\C=F%/@\R73NINX6R$#HO (]8$S0)3[&/;4,F<I4*A*U
MJK(A_HV:)7M9&B[?7RSH"WP$#= I!C6%4T#<;F4IX/@M!(+W*_&?A690'\=S
ME(+20@$JQ'^"FI['OBM549@-%Z7C K]9$O19);XZC15I +-XG1Y?4>-/]6.A
MT+->%\#>+_9I=9YWJ]'4VN93*VFSHPW@ 7I<Y)=]C8'EPCI>-%<&;V9:;_V]
MQ(M^(1$DOX.Y_P!F;UEE9]$S:?DJ//LK()_GL7*@U">0&(OB1=CY'%W\).%>
MV4)>/B#M[E7#:]4?WV*;2(8AV^0@V\3$:/4UT.M!,J.BP_]Q[QX;7K);)[[G
M"/K/,^2&C%9 ZU+W",Z\Q1BY7>*^:1:(:>UJ@<BXDGP(GE^ !O, !DL,9!+Z
MZ=>K0:IT35DQ 1Y/(O=],C6JT%+RKA0DYRAC2PZVQ"]HR6@&\A4X-PV20D!,
MLV41"8KN^T4N!S8A0/D]\*O2?!B.]EWH#%\KAXLQ6&\I54%U)"]K(^=/7I@M
M2<Y,_A-F$AA'A'55.@%7(8OFEJ:Q0LO<H<$X8R B0PW[CB<HM9=*+_;%G^5
MHU-PIYS&D@K+I49FSJDF(W6H_Z;^?"F[L]"]-$>B9,K,M\I@D4&^/'S@L5DI
M=%7X7]@[*GB8*[Y@\XNPM?4VM\G0)R^(H0B1+?(AFA6Y?)MF7=>1>\:EMRK9
M+1'J9Q3$5OVP>*(@LI&A52XIG'',,@P-0)9[42I(M18IEF"6-LX&CSW:LD+\
MF]I8R%5+'N'.AYK!(H-MUK&2%B]H_CPXC 98%GK+HTB"X_X98FHU* KB,U_-
M$/T8%$QN]A(T2J1+B=P1\RD'.CSP/"XH8]\PH BDD)A'84;N<B@"7PP21_)
MOELD0UE[12B$FYE861BSD&B28&(#PZ[N)10R1MG!2TBL*NV5.$=AR$0AD'V^
M-,6"Q8Y&!6"%C(H#C(KAI8D[X#CW3XY01/XM1MF+;/ )J.SY^!V*GMLE-('6
MQ;YALXR'X67'+!L/A;D@ 19(,9,1(C<A4( PF#_PG&32.XXAX"T![T(" J!*
M^_*9>>ZI+DMF?,'1F<8L[^RN#@90N[+?F??>>5&Q;S).>!ZT5\-U5B3OO.
M7G! H@P=CCL7V.GJ(*R]2+><_\NTRRP=Z.V19ULJ(%8>_"@5**)7=U>>(=$X
M7$T,P/D+1:9-TUU1!$J]KS\D]QI$HN(%F26*4CXIJYWE[#>1Z'63^A4%Z)J(
M+O&=OS83>*?Z?47,YJ/'S=H+>&GN&;]=&W2TW/YECU.>[3;P<G)&63T_G4J6
MA+&^($O1KDSV%Q:FX$.UF_0BL3$2%X6A,B 4V.6H2RR7;U:K/>$5ZP-:+QE2
M;4BC^B[-?P&JGB>9=3GQEQD>RPD_#U)'V1?KZC7[O<A76N9:(+46\-*EA7@'
M_O[,0>M:Q@ SCN!>;N04#ZI7(K*VV%M*#*V,Q<F0*^ [7,IDOQXW3"6;BR^.
ME6CQ4KY QE5%QD!F/TQ6;9S:*SP]E@%&&SXKZ_-K;B:Q2_:E\!RN5@Q5]6CC
MK %KHS50#JV5=0!H<2$]D$)%65;'8'N3R2A27WQH(;M[QOA'="QW" N_P_F6
MX4]A<[DI#(S]3&].:7IWBR(/['GIA!O,(,MB_B2':Q)'LUU]F(T14KG'@#+#
M>S(EY3E+/Q_?@3._A9^OTLQ6_W_1G< 8%M(.?0#<S.'L#3X#W[YY"W.Z@I7*
MX_EKKO9JNL0^0QA+R\E3.^A9?"1/'IBD09@G7)62%)2[K?AI@_>!+6-TL_\O
M>L3]=P.DG^M@+L*304L'23% [O*M+4FFRG*BE^:3_9+-P7BZ$5"X9%(A9SQ2
MEO-*GRV#R=AWX#P*U+NQ3$55^SXJ(* 8,6=A)&"V/R0UM4KBDQL6F0$L7U'H
MJN=X443%OE4>KUJ/>V]:T9?[7@^XH'V1BP7\HN0BZU%2Y0[7(RW%5N>V(>\6
MJW\:BWF1$NLA%NY+:&_=GI!<4-Y(468E=T!N94^C:9G1X.UJVL.2P5;W*V2
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
M$5T_.Z&3Z5_^C<>N#)/_D7KW2BH@&S]-UEA&UHI;DXO)9Q9I[OO[$5+B*P8
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
M;S_PZ['S1]+YW:)_]-U6^.;%LC#-:ZDD[-D/(J+ ]\C_::E_]E0=5B!1%RP
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
MUAX7CM5K>ZGU\OJIDMK5,+-P3+!,45C^(67U1.%NH*O#<B]S8KG.,J+P=!^
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
M:6<_DE-G]7I@I;%T7:0*1'>@B"F#I727/0YN;K\#:<<R_ JSFY7$X:]2.-!
ME\%EG7?258JDNFRZ*O/J-[Q;V\W3[KM< >23,A5X!.M#3J6C*]X]VP/)8@(^
MB[$/IH>L4F[5,*N_RHL_^#$\WTW=W2<C=KDRPAG"C/2PLT]62K51QNON,FLL
M( J>++T',ZKMK,*HRQD87@ ;#+S+5"RO\HW:T2XH@94!=CZ3.3_I0M/O3-LG
M&>D!Q+(7%1H RC5+.( 7$*O2?J(D]3&<97Y9=[X4L/)Y%>V9:M5:D3;R@<BL
M@NKO8K@E&V6FPU,1'8!K#5-G%E$^QDO<5-L6=D5J9KQD<N^3@,JX3<A]&>"_
M,PJ6A,ET#V=9 )ZZ3%0LWKVA!S+]HY-7\NN9 +LC[?)"@\$Q371?55MT:@H<
M=F4(0=6I_'H'L6*6%5C?D;6-B\)-3"OEY[$ /$.9?(BC6$:X:4OR_$W:1&WN
M %:+IE)EW-+TTHIM)@_@?K)8I3#!!86_P5> M3:"!:,G$BD!)DTWCT+?A6N"
MZ%Y*5'Z4_:,)/#>*=>"2/0D:5'W#H'.Y$W\V4WD%Z OX%5Z@OH!9?= )3SE0
MJ^Z)+_T],9-^C*1)Y=IJJPR67*2[M8%OKP<C=>T%E1NFI%' BBIL MA=$JN]
M59)@[ >!RF^XD8A%/NB%QLJ'YYE0&/7TIHT9CA2Y2UB5UTJ8ZM'E+-L QM,^
M0NXSBH4C6:<0-!M!+P)YJ8$00%U"=DXE\YYQ<16F-CEV:H@U!?E3N9N.;$71
MWX..98J0D20,X:?Q>HF"USN.EI^5T^R$ MCN& L5#P7@/7HJ&Y>]"Y2CF$$6
M"2CONN>DC,03F2#7)!O[4Q4Q2%6M_J!N,,]73_SIVX*G_$5ZRO4SQ%F(P,0&
MWY_J/Z0AEW3 EF(L/RY&5*!F3!/VDV@JY0"NYTF>B_6>F!^]UX9T-X,@35C(
MF'5A=>3CI5+!S?1'JGOP;CV5H*Y=VZ_SFIB13]H-2$.(+)9,#:WRI/7(6!J-
M5,\WW0$D"\C-8]]T/ZY-8YT(.3[,5WPE+\FS1 \T2*1SK5/W0 0D\+\KSVB#
M7NCP.M4'8!$(_)G:1Y0DLTBW*G>(QC3S:5R?N\E4;CFZB+5SRYCU?;&K6"Z#
M)SH9;NA?% ;S3,=@T*3% _WUE;FZTU.,RA%;FGB1+,I!PV0?\Z!6VC[)\9'K
M)ES;+_G0!-K-Y?1#G%GR*'A0T6RQ)\G,4X,@D^=99^33-W0G95 6*J>041AF
MKB; %)ATEE)A3R5"BNGA38*MO.IOX-_1<J)BA7ZSL=T0-M6/G=/,S$; 0G^5
M/FSP]&F\1!U,3R_>415?A(HI IKN?@]: EV288.,?M+Y;'@<7.V#1Y[-$6B;
M$*_Q7!_51+"\>>'I+;B]&$U)U\$'*5"^'#WD/S9"6;\6DF%9OO5?63)LE";#
M-@7XTHI]RY)A]=/;-=EKQ9' MIDK(%)]VL$7R+/6\K*5X'[9RTU)<Q;YDN1#
M[7_F/)V'X-&=9.LTFQ4%F1^M6I,EHV1R.\]'*>N5AL_S-0^4U1<!NP=SH1++
M%IE-YD+>*Z=Z93P PZMGN"',_Y[503RJQ+V<]W\,0300.J8Q<+B4-%L.XF=T
MOIB[2Z7P5$JI,+.N9#%BYK);ZI=%[PH"E(6J"\]=V>NE<"5- =0A4;LT*Z2"
MXBW3,KNH5)Y"@9O 6](SCD45VGQKAAIP-V"(_\-DV"UY,O?-%[DJE5GUSI06
M9BU?/P-0".:F+,[G[O->*A=&ES%M,[% .9=NA<P22*\\D+NPWB]/6(!6S?5;
M9=(V+,) O7X-$I;PE@M$!KM<NHV9R+,W+*48P!4$38&+A)\ZN\MNV[/P*F0E
MHB>,$&8H3T<1FEF;8 $"=^U_PK"E]M-2$V:+T5.CE/K2>:\S%.B"-E )I08*
MXT(GFOB2@MPG8,O#F&5I5.FG/"[+$>2::A?<RYG4ZHPW68&U]:R@+L&;,O;,
M>"^KN\YP[("> L/3%>=$LK:"2AZHZ@S'4H_6S+_N!LDT(LL?6!"UW.9837&
M:L1SW;GU(Z')E\G\J9=&62*YDX,M^YV^HI#Y\5C:'3E/'*Q[>6TH_"8U=NL2
MCJO^0#%';JVM=I17W/G:V5W80!W2I<PCZ%1;0!#2S?:6PR*3Z%'&C=9"113X
M5F9Y%1Q38ZIL4]X@E>_5YL/SQY*J5#9C74=<[BM[;J5%'O)^F8+1@7RN =FM
M\)8DE.]9_ ;=NX1+_"QKF9;!+?*26MD6F +G0W5(-3,S<P^R#.Y.S:0H-R?-
MV\_3DJ.%)_<% MCB [(2V<(\#PD@%O:#1:X\EYC'5-6<I #E3[NZX:#K]XJ4
MEJ<EK+RI2WZ<!W)HM^25PQ;QZ%QHZ:;27P[8_U&<[50&3E(-]^_]$*Q9GB/Q
M$I[/U 0R\PN\$ZJ)&%E6DY?/<9U_59F:F7RFLHGR*9[/0DT2.:E)8F)IXDON
MCWX?RGOE%3Y<X.:)7^50I$F:,9G"2^<ZPLO%J=X>Y9NNZY29F]=9/\VV%#QX
M:3_D,@ ]"BH)7)@!*&:GLB3T(D\,J@M/BA=IEZ?M23>&+QB719VA?E V4Y#)
M0*>5(F5':D-=_UQ4N[(?C+LJ3?Z?Q+O7K"#5^&FQQB*SEN%VT?G4(\UB?S^2
MDO@F$X#9,_-Z:DO/\Z2.?P AMI:CE2(]GY-;9W,U N=J1,!UE7.VB]@C-SNZ
M(CX(GLY"/,ECZ5XFS%KJJG;Z'B/)2M.(LP+4%K7E>AXT+=A?F>"2^;KP/B@:
MVB=O4#Q8T-1IL41*8DR1/I<.^T(J3R9NQ&Y3,.O;L#I7XB^A%'@Q+2%^:78Y
M/UUA<]F.+B_/GYV[02KB79]LM%;4<'-F*$M&KF_@^OYG7ICDXH*KI8---46D
M3"]]$BJ-G_B?2W)0.K$R:MJ96NML/?&F"N[3\\FF-:NGMEKEM+0N2AXSF5;L
M7JLJW3^BF%WE2S1V.F'DVKYRVI>7[7;[NML>7%R-.D.]-*IC#WK=_2^-*C7#
MMKI:2IW8^97EM3]?> 0>P+0>%@%BM?3P\I;=7S+ZX&Y<1-*5!8!=*?,9R;*J
M!$)NKFA?98\6W3:S;N"_[%;+:NE_310E+R_J^(?(#Q&7HZ971JT>&+-<CI/U
MT$CYM6WU.QU3G4N/QU-,);V4BHY!5CVB9[@D-HJ5. ;>,&BUJR[23M=RS$DT
MFUK<M$Y@29^E3Z8X:J'*HC@F"_QGPY/Z:8]Y_87,!(3DAMWQ1,96*RAY!5=(
M=][3!41@'XUH;;?1S-'I5E[)'<EL3IFT$3#ZH K80+KRX [U>:%F=S30CIDA
M'G2ZUG X,-0A&=KJ,L<5-+ZX\&=)S=*83,>A)OK9&P(YF1JW)Q&\3"P5D)^J
MWNK8JD*!/ I7*\">%&LL577*FH*(%TLZ+2D6N:HR+1N!GX3U)$>ACUF'9ZDL
M"P-RB^;LR:'K5OI511>6;C"A#]0/TC"TL'(MK454D>[.3ONV+OB2WPY! KP3
MWG?](%^ZBY\^&E[?#*_LFY;<LL#N7[1'PU[JISO==G_8K"T,,CD1+:A7>^/F
M7&UYU\[;;#S7M%(#@\]Y8-!=8]S^(986?<J$-$2S*C,", 34ZJ1J].2>D=Q$
M)=UXX3._IV%V"*,Z=%&NSQ ZK5C@]%"=JZF*-M/3H,=+IEAA^9D]AW;ONF/4
M_5TT+8Z,-K-MM)G:Q<M<,DNF;=\\_GK:<[%N?<6E DG;Y#>]G47JI'[6U4%?
MP)"GZ?QT6D);21HN%"7U@A<*DK)TD)N9N[F1F,VHG.N1%\CAWVZM&?ZE[.P:
MS]^3&Q3(C!K5=A*Z)9?:>*8<L]9YJ[-ZRL(K?,R9G"Z3NI)Z+7E#I6-"YTJ7
M#+SG_R8A*V7-M9S>#H)E+*I4O9P@3G=S4.E@N1I=?KF3Q;5R5@@P9J !_Z3S
M0K\&QCJVLS.UR2^2SA,@Z?N'<13%<H>7W^$+^:%^XI%LT"2.9Q_>OW]\?#S_
M<<>#\XC?OP=>:K^7?WXO+SQ)KX_G,[A>5>R"3WXB'_U^Y=F__OWG]_(Y_@?Y
MWU__/U!+ P04    "  (@9Y,CY H3=,0  #8M   $0   &-G;G@M,C Q.# T
M,#$N>'-D[3W;<MLXLN_S%3AZV=FJ*)9L)YNDQMF2'3OEJB1V6?9DS],61$(2
M3BA  X"V-%]_&N!=!"E>Y%@SU$-BBD0W^H:^ "#XV[]7"P\]$B$I9V>]X>M!
M#Q'F<)>RV5GO8=P?C2^NKWO__OC+;__3[__G_.X+^L0=?T&80A>"8$5<]$35
M''UWB?R!IH(OT'<N?M!'W.\'0,A<K*3[03ISLL (*R7HQ%?DBHO%)S+%OJ?.
M>C[[P\<>G5+B @D>T5UD&J0>*RQF1'W#"R*7V"%GO;E2RP]'1T]/3Z\=/F-D
M!7\61\>#X;O!Z6#80\ DDQ^<&5M5;>M1]B/3=C41WFLN9M!R<'*D'T^P)%%S
MQAGS%W8 5XDCM5Z2(VC4AU9$4">&VPZ4!= -7!7#I*EZ<Q0\3#>E)3Q0)A5F
M3LS#*L?STXEI/7S__OV1>1HWE:ZM(: ='OWGZY>Q473OXR\(&<73Q9(+A5A.
M85,L)P;2E_T9QDNMAG_U!\/^"2@B,)<OW,'*&&>:92O@$?&4C.[T$U2O@88>
M.JI'CN >D3NBQ^!J2Y"VAET19' U(:C,B@K(R8/H7_T(KJ]O]8?'[:A(QF,]
M*B*X75#Q_@@+1ZL:U.:H/EDM/<RPXF)]!;^K4>8)D<%RF2#1)+[7) [?MB#1
M8&9DICUW=9+24#NEHX98(HC6_=O]<14RTI#? L =4M.,DN9DV&-'Q?$3 >B.
MW]3K4A+G]8P_'CG<9TJL*[LT&USTHXDORR+UA8#$IP$U:<#X5VMZ7$(UQM,Z
MI$0P^J*? #<C@*R<>6UAQ$#FJK40*'LD4FF$)W6H2(&%U_T$13-*&*9.]>";
MAPHN6PM$4D>C&]8A(H+1%_T$N"$!:BGJ4Q !F:L2&C!C7!E$^E9T<[FD;,J#
M.W!/A^P/4=R^(U-D,M,/8=0LSU^/EH(OB5 4,JE4"F\0S 69GO5TC="/BH'_
M.MA[#1EOU"3703:C,!$*0!S?,TQ\28B,,&B??=:3(&R/A)S_=*9<,JW+%(!0
M1O>8)P]/ZO($(,3;4W:6@M1E!T DE,R-#$\CN(<&B$)9=X'E7/^[_,.'*MX#
MG'+$W&OC1W51+GM(MW^XNRZJI0T]V]%$-$14)$;V\7@X>#,<#% ??:+2\;CT
M!8$?&M\K\S]*H7V%,'-1"O-O1YOX-GKR)7%OV$=SO2FW$#AL4@*X,= KPV7'
MDA4LO!FII8VR+CCX=::O;J9;&W\B"E-O1_IMTG.929P.WIP.3AJ:A&X9TX/X
MM#+<KP%E_SS8U#.9257-'S?5_$&#>:%?3J?$4?21?,7*%U2M/T%E#^-T] B2
MPA-/3\V. ?"YE-Z\_ZUV\K:YAXBI0A%9R-"E_45,67_*15_3=C"R+4K^++B4
M#TP0[-$_B?L%?A'=Y I3\3OV?")!RS_+XG9$S%;S>]/<_ R)**$1!42:EII,
M%-")P  /YEC?',?^8H'%^N<YN1H=;C6KT^9F%9)Q<&*-K.9>BVM7)4^(K$S;
M)X,W)X-AXUPGZ*%3&N1,<H^Z>FGB''MZ26D\)Z1RF5H(7J(E*$U/!J8\'8/8
MS%*U*3 25"C$A0)D!WTH>8L%<#4GB@*=+963Q;5%4V_,>*JH*?1K!G=71U(L
MK9OI> X"F7//)4)JYZ/6]957CJY<?V^VC+3D 42X-/9_H #_085YF;<<C#5P
M;U'NEL&Y5;F'\9I52#C9=N7QIP81T(ZF7(6G5<=G/.^&#-J#IJ9Z2A(LFC!)
M'Z$J )60ECJS("S7WG$][:7QHZ"#@QYM8M^5@ZV"?8N&J[K80@T??&Q.)S=+
M(@QI+9UL"D^Y%H>UQFF"MD.Z^D0$5,;*#!*IA%]CL=(.6KI .3RV+% F>% *
M4==U8+WY&5.F)SCK3+DUQEXZOS8\MJP:V#59^. 5TCVB7W6?_^SB1%J!:EKK
MMIKZ<HN#!>H[*,8/ \]4$J4HFXTD7+175 '"K8K++9<4CKND!Q1T<5!F)'M?
MZ:WT^I6=*RZ>L' A,U ".^&$<WOE5NM@J[)SFS>*E9WTB,(N4=PG,IT>U!^*
M2[]LX_H>N9E:'U^SU&3-%668.11[MUP:HN+ES]9&LE,RMII2;CVLT)0BNG1:
M7- ( G=FGBDF#T7TO4HMP!X,+Y1;G:6Q,@2ERV'#8\MR6%%T[][J5_0RYHBY
METQ1M;YF4RX6AJJ*FBG#4**:05R3QB^$IB[UPF2 #J7P=4@QL4?[2K"VVAK%
MJ!VTM!@=G%J*T93+2F/JNA*"[!',_0O%$^I1O2D[?.Z.5 QRP^Z(?IL'4I!S
M+&FM%/D9^BW?(7)J*8$*U ]/POQ9C]$4+5$K%V&5!N8,8133A Q178R!5J5:
M=+FIP ?&)Y*(1QV;KMG25_"80WKA4<-0(,@VKF%W-&PULEP&7VQD5LL"6]JP
MI%<H31LRQ*$L=9&Q=2JP6S5=)^,J0U"^ >G4DG$5Z;F#*=<U4,YF%-@._&@U
M=>2@RN/Y.TL\3U"$'KS#0J_E-8N R]W=.TM,S:F@D[ZI0)X70-MQ*XT$& YJ
MV8U:ZD2+ MCR0/'.$B@LJNABB'@$XKF@U<6? )0'AK?6P!!#=U/(R=QCZF:=
M@JTBKG+/]-;JF6(<&W.1Z2<=K*92[-?S4YM@Y2[JK=5%I23?/>?TC3S="LZX
MSYPZLU)YL')'=6)Q5( #99%T2.YW!,S.)[JVG05(JPG> E>^,<4F^1 )2F'I
MM.AKU0_%X.7K5">6@&!11">3U;Q,ZX2!0NCRM:032S2P*J1[46&LN//C' .T
MW@%*F#3T7*[T9<5-R>4HRGV6[;0/@Z]O$*(T1A2B/&@GD$.=1+<*HG*G9CN*
M89NFNIC@EDKZ&S<O;1+W#OX7U#&[@J&]><-%CO0A!/I0A#I!:H?];36 W*ZM
MK08 N5]$ DIH".""]WHDBLCH9#PL55]2DUXNEAY?$S(FXI'JMR%!<CFHD>>%
MY['=3,.P]B=Q;XF@'-K)>MO]7H*PK0:8VZY;P0#3Q7=$+0K)#4RP/\G!OT()
MS1HPH1H%9"-#]\'!;1I&=/:!:76S--K/N)E=6-_V3K9:4FY%LXHE)2<J! XL
MZ#KGP [6$,JL3FI?!5%YEF\[0&%[AG)(^3.2_D[H; XA>O1(!)[I50%_8:Q<
M/@# -;N4BNI-76R6G*"3&8CRL\ ,$.QLM.^:HJVN(;?'M()KB(CLAU2B%)E(
MTZDWFR:49L[UV7 G$H7T=M:=W)&E+YPYR/M6\)G BQI6E(<M+T!MZRJ!-A),
M*$35>3W4'M-%&,K'X-O3 D=NT4DG!XD_D>0/'QBX?*P^D9^#*AT8,#0L R-&
M@0(<'19ZO2*] +AT'!P/;>-@4P7=K)KC"H!"53:E#@3,D6.^"0#1]99[U*F\
M!E\15_FJEWVT).5"@AHEN%&$_*"Y#6D_AP8K:?)X,#RV#;JJFD2_1E==&H[W
M>%555T'3\ISLO64P&;BNB;1.OI4&*$^OWEMF/PQT%W,IPWAVW_G-] '0A^=U
MR"OB0D7GZ1^^_AS3!1=++N )0-[I/UR7A)BMD\.-PR<W(CA&!7Y"LOI(9;R
M7$.C/YVTK;:36P4*;*>_N7L?G&5 ;/"2I40AN2BF%\4$:QQ($X841R'1_Y"I
M@YFCYZ\0%]'I-/I>3'UG;;?.'%L:H'PN[;UE+BWT$=V;,/N.A9Z16=],/#HS
MM%24MPVP/(^TA;X("TJAZ;;T+^:8S8B\9I9G=3QL,]2E'G)@\Y V#>J#G(*^
M]-2@M44'79I%ZG4<7#%XJ;L;V-R=724=]'[9^?=@T;ZB.JR@Y?-. YL'W)Q=
M#S!U70D7"64W4VN+6LZP51?E,UD#FU.T*]6<>AYWJK/(HH9==(_/HN2J*LQ5
MC0?-E&NF5N@J05 :O(X'MN!5I)F_=?SZ[6CCPY'AC<SG)<W')<,/S2,\D>9P
MJ;.>$C[I&57J3_+]=^0X<,,-5WCE5[*8$-$SG\D\ZQ4]I)[YRD:$3/J G4*M
M"SU_%MQ?GO7,M]D_0%6\Z*'@TWS!%^0_N'R!*;N&!YJ='@H:+LU>HWO3T/6#
MHSW3'\[<SL9,?Y7VG#-WDP7+@STD?[GT:+ +:[PDCIYXO?"E@NI?C+EG*-OD
MJP[$'C(L*;Y<.9ZOCT"[F%.&-]@K?OYBS"3$;WSO9JR/?# G07PB$Q5^6PM^
MC::*B"OZ2/Z78"'/R90+:/M(F/D=[^*(>=XYVB:B"NXL.(/0)M:;LIH$'Y,
M09$)538)!M^]5SL4(/=%BM.8\9;RJX#U;R&^&V88"]B\?^([D-U6E'\+P=W/
M!4D/L=ABV@FO$MJ_AP!#RPCM).:[I?PJ8-U7\5D^H#6><Z'NB5CH@[,XF^G+
MS+>( Q$U@MPS,10F YJQJ?YDQIRX,U!SV"[-N_UQ<P;U&QILMO.T!C(5++@^
MR16P0TM]A#UUP[/JLQE.M:8OG^S4^LRQJ;KNR4J=>]SY$;/:"D4+$:@(S>X5
M[0NA"PMXRF10^6'W__R0AYP%5VV]=P9==GKF)I<5V[X4CS%/\6IKO#:L5URS
MJ[IF&F&2WZGM$ D6NCHG#$IW=4N$0U@L@.= W,CZP?27 8;VPJKRWI/U7:<+
MO*0J^-+K:*'W#\5BVBG*/0MRI8++Z3U^:7"DCP"7V4=J3=2F&&! 90Y8*);H
M,_357-21J;4WQ^#5 N)"JC@ET+D@>HS!KX>0N_#E OVU8\\#GL>$42Z^8H9G
M!E<LLUU@>L;16<G&:O"P"SGLH0162QJ836"SF1=B;F$<QVQ6:+@']GVEYX/)
M%X@A[N:19>#QA*)_IE\9,@61KG[&=!4QV@K#OCK3>DRUDLC>"J,P1_O\^W6E
MBJ-"N_V;*/X,"9'9^Y<9K!N,E;=Y^1HJS@<O5WA!F0$PDQ8/#%20NGFCYO!;
M)\]F4WC 7F/HO:LF8DZ^4$8T]CR/Z2?[2[\I4G.T1W>KT>VJ#_.U#H/^Q'#\
M++4.T"8(UD>?!'_! 1(!41UJM%O"L+=A9U7:OH1;K,7K-;.=_>*3>WY''BED
MQ04I3TX0;1#MK92B<\O7)L-SB%#@X?3^Z/!3,+$4JC1\1BY!!>[N8J1E@C0;
M0\H:[%]4U"FX(J12V*_8]N6CY%>\H@M_D;B?5.!+#STO>'I']*GZR:AM#OXB
M5EQ-))"ZMA%)8_"]$TGA4/@&&?P<0M28^_!W >B<C;T$I2U>WNR_^9J4FZGI
M3GZG:DY9-*%SRY?AOJ*8F:JMFVN00MR?$=&V--_V5;W<,D$=@)=<%(@YO,5K
M$RB VD]4APV3 ?#IN2\ABX4",QZ(E5K^=<9<[KB#T5)0[W@P_%=VY%5HMW^Q
MM9AHL,TK,A$^2!I^OJO*:Q'87X#U&NS^15@<$\\#!Q-.&4!4&+E0/E/=6J_<
M9)FLVG@/V;2?3Z??] BF;L_729/0.YEU@7"R=^2Z)LG'7K+=5@XW5_R>O9<7
M7RMLR^'E"@I\*C43H]E,D!FDXE!7 VV2.IE-,#^EISV;TMR9F'\W"Q6YC46[
M1[NW97VP[[T"K[*" 958Z+-UL6^2+7:M.D<%GB#NN3[DIO K7'?=F%*HTO#E
MRP_[^56Q"PGJ#3X-%)NT<Q,N&\.W\.X&6]L*Q4YZUN9+F^RK.X4"?ZT7"#@,
M4L5)LD(P69M)70BXX;'PH4%&[#8!?/$8_<!$O'-!X=4DV$(CY_R)80EVH@<?
MX% <!HYC=F(IETP)7.CF./S(72" '>':MWG16%8ZHH', S#XWVS0 KQFMXB(
M#ZZ6VNR-)42":0*X!^OI&;(57=1D=!O$3^0P>,5+.G.RP!]_^7]02P,$%
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
ME[/+LCJOXO]&6]\>Z;T8GVT%%UPSJ06,/$*<!*&90UK";"TMX.F4BE2F0]?
MAZ'(3BO@ #AO7Q"?L72TE?0HS6*]$O1-3-,Z?OPZS1^:3;SKNXI"!NU34A1A
M1R52AFCD"#;+I<5)I:,3AZJ*C<+  T!\'"[>2+J2&PJ. ]!Q:RU%L!933@E*
M43M$#<4(5)*TPD=$0I0_5 7O0!DY!.@CD?)6UJ7L9]-Y/00KMU93Z"1AOP[:
MA;4D(:6D!<59W@Q;D3#L\E].2_XO2<LA4!^'E[>BKB2';<$ M-Q:2Z&4"T0G
MC;1AL#/TFB/C E[APYRRIL-D*?X563D$Z".1\D;4I>0?LEO\$*S<6DW!,=:&
M\(0BCC!BG59(J'BKXV@C*'\Y+>6_)"V'0'W_9ITA@CGMT<3RD!I'WL^O,FHQ
MK&GG2ANSWW:P+[RH_")9:3!-#)GH&<*2T4R,A 2U5$6AI&EW^#NV<28'$RBK
M^73^J&4W%^=_B4WS\=)6A/X**2_OXY&3O<ANT['.PMK$HF8861%@Z"7+$#=&
MY$,?Q71BC'2Q3^_'I#,"ZUK;>\;OG_V?QVUK\TU;S^ML[8_U&.-@2YV%QD';
MY!S2S%F4/"R-G,)OT6HB)3&*\^_.L/0]C8/^^^?PQT$WBWWKT@N,(^CXW"$2
MO4&2YY.YA"TT2."4B#"$M.+VH>%W,W=^_!HG7^*2/\-BNK'&PI(06"(.<4\Y
MHDQ11*S1B')'!:BZ5LH.<\B^CT<&XEOO*VE??7/X\\?]EM[,F\/R?V.-A7(D
M1&,32I19%)1+2%OJLUN']XGJ$)S]WM;0[X?_???-_C?;+PT-?#@;ZJMI/<O]
ME.^-+R(GO7SO_*2H I0@280FB&I@F+48(^\U14XJ%SB%G^Z ?!C:*J,YJ..0
MIH8'Y1< $?>6&X2]E2@( MNK;))B),)H3980W\$@?6_)1OO3^SLR9\L$-1;N
M^UJ.?VP3V2$MM0=)VZZP[U^+?)$B6 0._V'JD*&@-$><+"+$>&2PMDY*+;#M
MX.JU'[>&40G6"<O]ZU[K+A[VZK_:[BV"$56Y>W$O 8I%9(^UP?K7.7YOR5J
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
MHD<4E>#0>,8[^;B1D1Y2V!N%ND&Y/^JL?'QOUNBUOKX[<:I-@87/\:E<H @
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
M_%A&>?=0Q@O9N:WX0G%NM8@)A2@M"IXX)#C.#YXP%7F,..H.+!TI2N<!T70
MP ^)KO#'XSJ&<F-<BMT**EQ@R7%+47"6(Y,X0=29A!CFG&B!HY/]Q+?[%Z%@
M)VA?[+/1:@[/UB3WU$"1#TL@PRJ*VKM8^_5OB Y347%\].94*G)R(LY.3NCQ
ML31';[ ^U8:KXV/".D2[$S\$^0X"]D.:!8\O;74!"4XKF\VY_6QVUA>:.TQ;
M2R+R'%ND6 B(D,"0DY9S)2*&=>/0W> .:'+L#>5#XN,B:NG=@W%=U^;'Q141
M*YD\+"-*D( $R^^1JGP-C%OA9!*.D@X<',?+[8 XV .^@Y_V+O960Q]8_&[K
M?*9P?1<T:-S*EI-!\[9:\]W0EM4U50X.]\,CH.4!Y,C5'=^5=9[6IMBS#?B1
M3+_-KUR^,'M23N;9Z+T0\5Y\J U3[8XE%92R%(S/L=>B1I$SAA0L1R@9[2C3
M49EV;S"-BLN39N0X/GYW5-:74V@9)?&)(J<<19%F-SN1"!*6.B)H8I8=_ 7Q
M07DP'1?=L;2>M>UX#K&[I717WFTOL5".,&E 'TR:,)0BQLA1D\/21JJ$D#J1
M#C>EQC'C[IV!@^ \N ZT^_(TU*JY53-8(9!_Y/WWW_[T_P%02P,$%     @
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
MRR2S7"(FM].9@I[6I@.]/#IT@5AO&X[E;#*:W*?3PY/"H<<3@"62-E"?.!@
M PPA7/:,:*IJ<X%=+A=: *HW'2"=WQY:ZL/7B; R+$U"0P^<M#+PF#UJ+QC7
M%W%GFX!^3*<UP.EM9.>S[.'7M/@]6_AEX*!:F+0H'B:SFY5;Y*%!?KAD@HFC
M7CEO YD-$IXX3;?*"L>X-ADZ4_W[(4.[N/4Y_,/\]_*PK#);*I5/&/*<A#G.
M,8\AX,P2O\74.0:&MR7H;P)I&[W>C I[<7FN )EE4:R.=?8;&DZK*1%* 6J,
M501['R$!7)1X> Q8;39UMAGIATW=XC@T7KW+9Z/6J/586<(-)] PQ90$ECDG
M#60E*HRH^J:MSO8VPV)7;2C[(MC;?';S*2ON=GBM[&#0CJ<3I"'D825WVL>U
MVWL7\ZZN^\6%J+_][6S+TP]%FF-5V[:UP^/GXVU>+&)S8HZ)2C*O65,"D6)8
M&L0MQ";L!1CGZK&/L/Z"Q"^3#_W@^,B5__KY!82AZ;]W[G!VT(>L!X>WEC+
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
M;-MJX7S]V;+U&TF[D=SI&/3O(K,Z"'R71X#3Z3J0J=*YT(YRB1)A^788(&"
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
M7GG4&[(]<4A=+[*B52(]K3$1UEI!-$9(,<DL-TSIV&='B?9 UX_#XW]6-C6
MMV/W])V>B%TZC'_-9H$MDW[>\>A\^>3#M9-Z'Z_O&,QWV1_OBWR6+V>C];%D
M9V_ZD(4^+;,8QW&S+MWCJ\X=5!!@5J-10#G&ZST'_*HPMV'X9&]F3Y^8S$:3
M^VGVMD+$0>.Z$T$-"+H,Y/%Z44^!4A)#IH.:@Z.%JU(VXF'A=BQ"H5&]B8<6
M*6F@"!MB9YAF',H-7A*1!K?\M!RTT",S7CH\](COH(,</B[2Q>JU'T?9+"TF
M^9%PAIW/)U)QC;C%4(FP!0$T;(9M"0@VLD^_WY,"%WJBP<MPFA8P[,N*4#;Q
M\VQ^GXTFUY-L?-1K?&^9!#(#H!<0>X@\D5(38LH^NM#]84<B-)3;=T%5[:+T
M.ADQR(B!H1#AO 1X7V1?)_ER/GWXD-V'[6 V/NJ<>:QH0AVA4!.* *%<2.T-
MVV*HP@(_O)/B%J2WAP\M@=07+3YD\W)8/,:I'V7$@5())A@SYI'5S&$+L'"N
M5.YD-%(-[[RV?3*TAT]OTT/9WE^R_*9([V\GH_38Y1Y[RR1(6 41 1 CAA$V
M"'A0]A%HT^>9_25IE@UQ[(TKZYW.T]8>UR7VE4F@()QBI"4D&$DGB4&P[*,0
MR%Z(=EE?=B_9T#)2KY,5P]8P!T"&EHY_W@45YE;-QA_S9?CW+BM"$P[G6MM?
M(B$LJ-I$*"6XAUA YOC6[L/#NCA /;$Y_GD7V/0UJ-VRR.^SH_K@T\<2%-VY
MG9%A,X6)%U)20<N>($OJ#]WN%,#6I-P"(*>)=IZ-_G*3?_UYI9(4#VO);OYX
M*=3-QXEYMVOL;K],&%7< <6IUUXB"L+&I=RIJ)@&9'A.;RT.T[HPU)YAU7R2
MNF^CZ7(<-$IS.YD=F5_W/9\839VRS!L@&&;:$FW MKV*#C!FH.79M25D^II;
MP_YBO!PMKHJ/6?%U,CJ6*W_7XXDG(.P:<=AO4 ^Y==AL]0I%B*N_T>HX/?YY
M-EHM0-@S.>9165@W=GY4F]Y;)F&2(4RD\ AJ9365#LNM<J'AP&_V:2:VW1QH
M#:3728A!;J\&PH.6UOVP69R-TV)<-B1];,AA!>!HP01[%%Y&O1)0T] =@>$6
M$Q@^'=X^JP5IY!U"5%^YN[^?!K4FPOAQ;5L>E1D]/N;35;*@(]*N7D,B 5,2
M >&4\@)+2A0NE2;%**J_O>YLX]6RV#O#JC<;6CK-YAL_L\-QZ2^>3! D1A"A
M'570$ <T)FP[#7(YP,1<YW,C:H9=;UF6\OGBZOJ7/!\_'1Z!Q^,#M-A?*($2
M(^8)\M@YAZ (72VM$!HS-< XRO,QI#48^R++*J=+@.AZ<FC2>/)4HA% 2&BA
MF3:2NY7I<=L/6BU9=+]&GO/1H3YN?<G_ZGYU2\?LYDU,"96]/9Q,:<?3"07
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
M;Z=:#4D$ILHY+ TERG ,@V3\1AI68D,OA>+GVR$-65ZO:/2L0Q'..W#6;4@
M8CRBS;FG3"JJO=O* $'::U*ICFVI'9.T_[%42X27/XR>>UF>910];T("N,,6
MA>V\"O![[HG>*K%64O^:XL=?RR!J),'+'T-KG[FSCJ'G34@P5AHC!0EB(*K5
ME#I02L!;4#]3W? <RE[+&&HDP<L?0YO8ES,/H^]:D4 H.02>6$&@L%A(2& I
MA^@66WLD#<^5[;6,I*9"O/S!M!74T:B9P9@>3FEIPB!W2!C&E446(.N!LJ4\
M@6F0)J9G%?$UVR8Z%.B?:8 .?%0F4 KG'*)&4\P(UE@I74I.,'Z)EO"A<G^
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
M#M+/VTPZ':V.2^+ V/E$UZ@/Y9U'9;V9H.*/>!SYW__Q_P!02P,$%     @
M"(&>3-[;27NYQ@  GI * !4   !C9VYX+3(P,3@P-# Q7VQA8BYX;6SLO?N3
MVSB6)OK[_A6XO1-QJR+277P3G)C9#0 DJKWCLKVVJVHG*FXHF!(SDU-*,IN4
M;&?_]1?@2\J'E  )D+![8Z;++Z7.=[X#?.?@_6__\^OM%GS.JCHOBW__B_U7
MZR\@*];E)B^N__TOOWY\A3Z2UZ__\C__QW_[M__GU:O_@S^\ 7&YWM]FQ0Z0
M*DMWV09\R7<WX/=-5O\)KJKR%OQ>5G_FG]-7K]H? LUOMGGQY[_R_URF=0:^
MUOF_UNN;[#9]4Z[376/[9K>[^]>??OKRY<M?OUY6V[^6U?5/CF6Y/PT_=?(3
M_$^O^H^]XG_URG9>N?9?O]:;OP#F85$WM@6,]!__^N3S7]SFTW8413\U_SI\
MM,Z?^R#[6ONG__/+FX^-GZ_RHMZEQ3K[R__X;P"T=%3E-ON070'^ZZ\?7I]$
M%_W$/_%3D5USOM]G55YN/N[2:O<FO<RV#$;S;3=5=O7\5VRKZL$W<(8BSI =
M<(;^^PM?O+N_R_[]+W5^>[=E]/PT ?\(P+NG8'6A:TAX.P;D.58??Z%BO)]8
MU\W4(G[ZE8HQMPTM*38ZVN_CKU6,72UDK2VCW*5;Q2WCR5>>Q+SEGWK#?M=]
MD'_[&?EMC'>B>O3%V===5FRR32.:#[X:Y)M__PO[W6I?O[I.T[O5SV6Y^9)O
MMZC8O"Z8TE[GE]L,U76VJ^.\7F_+>E]EZ++>5>EZMR*A'X:>'SNN%3H>C@++
M0I9+B8,P=A,+KAHCJZQX]>O''E+S5SJ-_D6&JZ=1J+*ZW%?K-H4QM#R#MP[\
MCQXG2(L-." %+51PP K^Z-'^?__VT\'K!_27Z^?:4X/Q*JTO&Z =00RP'?Z4
M;7=U_S>O^-^\LNPN.__W44P^CDBYUAR1EN MKU7*JFOG#YHCJM:@K#99Q6JH
M_H?2:OU")+M/_+0N66%PMWOU(*B\EIK%MW*.-MTRR!Q^CKTGG9G73)O]-GMW
M1?,BWV5O\L_9$S2?4O;;3TPB,"/ISQ6-?6PY(<*Q[2$44QB%ON59?A195N*1
M8+4;\MJ+_5J'?9G>O3N1@L]T\1XR**^>]O"3?7D^]L4$=6GBY63UF/,6[ZL&
M\#,2^T<#&G#4H($]L[Z.(/:,RNH,DQE:J]7#<KY&/TYWRW-(Z'[',\!M6>WR
M?S2#]^3K75;4V2.(B/@12AP["6/H.)!:KHU9:J!>Y-A^0.$809X%V))*?0%:
M+\"Q&Z#S8YR,SQ-,.7TW+HZZA/]L/(W)"BK"(9 N9HVZ67ED7M=/))@%^!?-
M/"2M;]B(@_^2_'V??TZW6;&KAV&&;P>AY\9^F 16%+.<9WN81@&Q7<LF3AP*
MRL]$*_H$A2-J!N?-;XZP+38@/T_5F<ZNB&,SNJ\J9THM[5"LBZVOBZ\K4M[>
ME06W\NZ*FWULF@_V/V?UCJ_L/*XU?0O[KDLMVPZ)$WFQ9SEV#\<AOE AIQV$
MYJ+M )WG? [\XDE?O>BFUP87Q.HU_?$Y+XY&A492-@]1>==&Y:F HH<QD:FY
M9@[3IEM9;9+OMQ&N!Y!'=J8UCUCSG^PH;+PKY0<?_BJ:_3@]/*=!-AIN,]I4
MPI[)=;/%8-DL.)^;Y<QM>^QT-/J<YEMNDI;51X;G8[;>5_DNS^H/&2<SW^9-
M5W@,"WE.$E$2XP@2-R;40WX/RP^@-VYN6A,8W=,?^]O;M+KG/7]PX-556;WB
M+LAGS_EB)#N#;4!XQL]J/ Q-S4-SP \>.F#,-,98SH5FNC6'TXSQSGSNGIP#
MGX5G>>7_M:BR=)O_(]N\*>OZ77$Z!\4PLC!%861%";3#V/<MKT?B!=9(L5=G
M7[.^_UPQ?.  %W"\65O0T32OP&_I=L_^S'1%4P)0&"I9S5\F2N-E_E&8 !/S
MD6,ES<(N3*R0EJL/DVGRK<'#DXJMBTU1D3ZR1[9I7>=7>;;!]Z0LFNFT?;K]
M)=WQ''(?I[O'T]DVLA+;"C",0NRRG!%&CM-#PBBT9=1:*Q#-LIU<767K7?XY
M SU&P$'6JNMTO<$2TVMCXB0GW,?*?, -+N_!$?*'X5M<P:=0?4;*9XF@&9H^
MCZOE CU$3N71>EWNBUU>7+\OM_F:C0>&]1(*_<B+DR"&KD="U_+C;M;'L?GO
M'$%9F&!!7Z<_@ (]JL76!$\3=*:K*F#5C(ZHPI%2>8N3',_FUP7KR^NTV#VU
M?>C!A 80PL0C5A)'-@Z3Q,*]<9CX5&H(J\;D?+.21X#!,[U/<E2JB'#!@>C\
M7$N./<]SR\J5Q8::0M2=&UVJY=X,S5/MU.,QI [.1+4P2:N"F:O?9]7'F_3H
M3 /&+B)A0!/7<?TX=CS+[<PE=H(LT<XX^OOU=;\>$F"80 -JL5KB%#MG>MAD
M0LWH4]/=*!4WM&G]YM!/7=8O[2#V78BABT(*O3CN[<5Q&,J4#>.M:*X4?L_R
MZQM^1A)]SJKT.FO[D619,('#<>*CA[[IZK-8OC])D(0 R9-JI@*-\.,%"1K+
MC*@&Q5F5?T[Y=.7K@HE=LP>)[PSY6[:Y9C@0G\ELU@R?.;*8^,1&@1?;B)^@
M(2@,/=@@LBF%!(G.%NB$H*\/'E"#(]C-XEP''!R0FW P> +-9WKR',$SHZ_/
MXFDY?]=0H!<_IWG!5ZSP?0?L0[9MMA;4-_D=OG]=K,O;[.,NW67\X_U--?C^
MN2_[D-=_-M.@*XIC*Z$V"9/0\X,(6IX=] Y8#HYEBB"#8&NNJI[7I0O G04_
M<'=_[-8R!+?K&DCAE,1B?M!5Y"&Y>,^7;[2P+YN>EFT"!F>SA8D127XFQ$XT
M5W8(XZS.KXL&!_J:URO*3""" IL$V'5]X@;!8,QE_RB3UT::T)R#^@+X"!8K
M>QDPR90SED"Q]# #=W)2/H(V+<K]/#%G5'8BDV8HXE0G2J6M:ZK2Q.4M4\H5
M@MA!49+$-HXC*_#M)$EZ<\2.I"821QM90FU::)/U1I3&L8JC@4$%FO,2>3.I
M3@M#2G<D^315>63=>%%[1O$B/B?0VLDVJ.Y,'XJL7[+;RZQ:81I8,(XH0M1R
MK<"Q2#<;P0@C24CD!O/3[6D?A?<005H/$X('E+)#;P4$BXZ9Y^56=K![GE;P
M1PMQ]J'NBZ2=':.JH]P,05/JT9-1H6JV1&7N;5EL!N.=I2 )$SL**"$(.I2P
M821Q>TLV<:2.*(WY?LTR]K;< ;52-HI$,>G2S9^<5(E0MY!</4/4&7F:0JL9
M<C3)@U)=(Y,]C//L5%8SBG0M+\&LF+-BB(,@(82BN+=HD1#)G;49;T>S_+30
MP( -].!&S29-(E1,@N;B4DZ*1M.HZ2#+28[.J) *9LU0(R6>/#EEHHJ=B>K4
MC3,]W\..3T)J)5[L^GX<L&JLL^DXL=2-I=,L+:=0HV:@)M(Z2:4T,*I,IQ:9
MD3K+D[Q62?)KM%K)^B*F5Z,8DKD8DV[++UT9WM5NT'<# BV"L>TZ'D160@^U
M&X)2\U+C+&A6*+1>[V_WVV80\FYWDU6 7PM593=94;>;!II.U^X4N !OLQT_
MNO,I_2HG7"/9%1,L_<3*"55S-1X'-(SIEAG(/<O+&6&:QJ,9@C31AV?N#YW*
MB/"1P73+K][YG!7[C+\-4K.^UALDOH.LP'&"R+&@$R':'?3E#%$;2QT3'&]&
MLQ2]K\K-?KT#'3C)\W\3V!-3F9F(DY.:!E3/V 5H<+4JO8SDG";IC.XH8-8,
M\5'AR..3>ZJX$96A#UF=L<_R:Y-C9G9;WO$2K+NBO+/L(&I%*,(X0%$<0]86
M$J^W''JV):-'*NQI%J8>X@4X0MA>0IP4+"]D6<63?(=9\H22$K[%%&QNJN6D
MK$?7\'J$[_"(PR**)D#:&6E32;D9&J?4HU)? Y53O9^S(JM2_A8;VMSF1<X/
M2?#=H ]M8]LF<>2A&,6^0VD$2;<_@C_C&%M21P[46-2L?!^S+?O@-2LL6K2M
MZ#T$/%+W%#$NIGSSDRVG?1V^,^PNI'Y"Q)W1/[7$FZ& BGUZ_"RD!L9$59"6
M599?%V1?55FQON\WT_<VHYC&H>-CUW.942=,0CK8]*Q$1OVF6=*L>ATXT*,[
M/BPC)W(3"143M_FXE!.U<S0N)&=GJ3HC8VHH-D.^%/E2ZFB$"@^;OF'CLM>[
M[+9>V3:V72O&D!"'.%$, WL8)P=N(+7:J,BD]NVE H?^.%K0P%5YTE."=C%U
M6X!Q.9E31O;\QRP'^LYN/U7*OQD:J-HIF:.)8SE3HHK\:O_K@E\A_;IHEOL>
MK/:UBWW##<7O^1.%9?$VVZTH=J@70MOV*(),NZ$;P2.H4CO*%@&H67$Y_!K\
ML&VNX/\15,P+UH;YRTJ@YO>TW)1;UJ3K_[=Y>FEW#W[(AFN@[UHG)"O+9:*L
M0+)-"+!Z@3]XQ4,NL)!^N :\\[%9M3$H-XR,T]A,HKM9? -Y1SL%,EEJGGBH
MRFG#U=F447ZTI>4=>?VZV)6GX09);.'8L6 <>$X0AI&%AH&)%R!'95[3!G+V
MW':X$Y\W<9 >[2$J&^E;/Y"^O).^;2.5.?,5K)MQX@Z4=UG5WL^@/R7J:R1J
MTJ(1[4-+:GS47A[L.2.OVQ;1NO=M),:QD9J0'+4WCF\C0>JG03))SA07T41Y
M*E4_1-MM_]_\U[Y]>Z+!SA"_*P[N\HTF[ZX^I5]7-,3(2VP21*'O1HD?$C_L
MD>($2EU(LP0^S>GQ4[E+M^!ZEB0IEQ 7:0QBN=#T=B"7!@7&>X^= @>ONJ3(
M,R'[^R//A+9;:TF &L)S)O<MV1C,2'N+,E":TS4US72V#KPNLD=YF"^RW_+7
M$)*OZ^U^TR;Q(5D765U_RFK^5 )/V#$)P\#WB$V)X]&0N-BQ>A]BB@(M4Z"S
M()]_;O0P5?;<0# OG@P%FYTQF[QF_8EYM6<_NSDT,UU3I_,T&\5SJL:U&-V3
MK?W \<CE?NC8[J=JO :]VVVV?> XZ#PW<*2I-*PJYF9G;5YF)&=#N1D[F[M
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
M"Q2#T4_IY39;)<2BF'U]'-O$H5%BP1BS_S$=AI:'(J&]_F.^=YX]^[SG_=$
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
M#*TD#&P8!$F,;,\.>YN8C6JE'LB99$FS, W@P"5#)_OVS30.Q21I/OKD1.G
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
MVA&U8AQ#;"/+'=XFA220>VMAHJFEIN6F3<FIXEDL-\Q(L9S('P&[ $?70!S
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
M\[D;?G=:;]Q/^.7,=F1'D6.%'B+(H[UQBQ*YZ14U)C7+68?R ERW.%LE2Q]
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
M9&.$,:$QM$*/6T3\CC8;R[T1.<&.;FWKH('J&)NDMDVA45#19F)04L=Z\A[
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
M+U4F3C"C62XYC!KL2G"UWU[EVRU(P;I#**>@4Y@4$\J92)33PR-0!SGDL"X
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
M=/U2@T:J%!^ 2Y7B_0FNK+W=FTO1HXD8-<6UPA!-JZ67B8[RTOFX0#[XP(]
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
MX8'M?0:R[OS(8P]20O!TL2P0728@6"ZRM"OK5[>@9;G!"/H3.E^G9%@BG$S
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
M_0N=L:"V%OS2V/OKA&%J##>>"&>SZD7S"'OSHJ28\:@?]S:CJ]VVVK)!S+*
M;\5Z38N2_W"1A!#CV$L"*W&2)+&LQ&OW@GK\)H=1+RU2A&AZ)T)S)OJ7^EV8
M8E<Q@-6OX]XYI.H[L5#X =PF%_QTWB!T8!SXDYL'6OM&#G1FG'0BM$W<*^81
MS*8F0?/%/EI\,D' :AZ^67@P=BUD.4F41'9 (H)\K\-IAS%>-'7P[]NTW(X>
ML00QRJC>:W.$!?  UD5[I\=D 4O4=Z/'*@,.FT68N@"-91\V/C7PQPE-DIW@
MIXM*LO:;"TA*GICF*MB%YWLNA<2*84BA[Q+HV78'$B6NU 'KD:$9GBS5:/AQ
MD"FBCJR7Q@DY!ATT7;QY>['JEVS++^/97^TL_#SQ/ +02S<9C#Z*_>'G"#VJ
MQAN]X532!\)!AQ]AN:RJ7;9*=B4+<4UK33VI_N'+J\JRU0)9EF<[V(()@H1&
M";;L/OI1V_$6F^R.;]47#"WZ 0BI4]2HTR%6\?U/'13%$&* <\$P,1'9DX>"
MSIZ#:#"R\DLS?TK=S;EQ)@INT,#7*FV:R['2_X.DAB\8_7C,R_H3]A'$9S$#
MQK%M^P&FQ$YBAK:/(/Q0BYQP3X[7N,ZW$/FS;R4_CI274\T:-#AWG(G$2%Z=
M/* <V-GL6=A;.EF(,>TZ@_,-?=UF)@%L/GQHGI7H]M1T*S74Q<2*K#"(_"@.
M ^SC!/8K2HF;M"LU9#-20)1'*+].TQEC9)5FEJHV;<U>U(,_AVH-L-]XS5[.
M$V.ITL$%\"U.QT$A]1TKB-A4PB)VA-RHPTFP9X]9MI='9[AR?_C>1UK?JUYF
MCT6YY1M?^#MLTR3G"DX<)QDWZ[_)JSG<KH^YD/S&,0:#DGHG^#F"T@#[-0>E
MH9X8*R@U5XLWV7VV9%]>%_Q;;^%'-(J0;4<N#2!$-/!1]R2JYUDQ3,:,5=I
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
ML]VC.X@_OY4,U4N,<<9&57:=_EC8/O0B.\ >#4D$41(2:G78$MON5YZNU8.
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
MGVIN;$T\81&>F2@2-H^1H0J^T-)IABZ(?"FVV7OCS?,\._%]Q_5=#[M.X-,
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
M+;71?%H@1^5WF"8R=.  'A?"/<"125T5RQW_D.9=P#F1^P+96"2_"C7<;AY
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
M7GO,\Z)-6<>MR9QG[$1)1B/=\ZC(Z#2H,-8U]4E<(ZU)$,;4]W!,?%[T1GZ
MW*[="(52SUL/;\VPP#6C\" =!:MF%#ZVHU BQ])(\7!]T\^N9GF32K;,J]NY
M0W3ZN)Z_MDG:(R%M*DPI*EN;+G[+'M*<'[%&N^U]4>;_RE;[WT$/Q6ZSM1=A
M"*E+"8'0@=CSW,@+20<HA+X]0/)TPC">[+480=J#!'W^E]8@!RFA5I<H2>14
MWM UX]^[:(_\\!?1:2>-H:H2%(O+K0F_S5*'C1AZ6J#-<2NLW,O[;+5;9U>W
MS:U0^5-VN6&3S>PZ_<'OA?J6<3+S=5X7>NJ#1/O3C3B*H04#!X7(#VT7HM .
MFM.-L6=1(K5EPB@0X^I]B(U/U__8Y/P)U^];AKP"-&,].5W7?]VQ'O\,<%$^
M%O45><R\YIJV;5&_6I%NGO^] CT'_<\OV'@ #2/U]^J;$2O6G&18,.IOP< P
M%U=+AH86=GW#7N^? Y?4;GS5%YH3E6"R@]]#N#X5(\9PX4RBQ"BFOHX3X_$K
M&BG^D>5W]TS4T!/3LKMV#:][H.1JMZVVZ88_.Q*G5;Y<V#Q .3"!%":Q@T/B
MQF&# 2>)[_@+]BDWA6APT-NVC$0<PA16BAH&^*L%_2EM4/<UW&8=KMC#'E<2
MI,@\H0%FG#*/06_(MF*,;JUA6"?Y>L>^]P8(6OWWKMKR=;\%C!//CMTX<"SJ
MV#;UB-VA(7802>5^IC"8WD+;7[B[XEAY-M"LSQ1G7A8;UQ%B2=D<?""7CW6(
M00NYVW+4@N[V'1W !GO<,Y#<\^3*BJ]&=\U8AG5:*2+(VED=F'$=P[. ) EM
M:@<$>@G"<1)AM[UL*+&"*/9E[DG6W;:4%,M?E?R/([E6?:5@_>6G_:6"<\W
MCI$KGX,-=M.,A[\.Z\3R,$TL*I3B'A[7Q7.6?<_*IWR9O?_8(UK7[F%?7=WR
MZ>#=AM<-F[4>7%3;JKGUAU@D<1T[<+!-$8DAM=WF.E//IJXC_)[6-.!&*N:T
M%H'6I*,OR5Z O5W\'^XMZRX(KVV;YAHM(QX2*P%-T"/F(5 3<W"\:#291X2O
M,&0-7-W^5A2KZIJ'^^[X9V"[-K%]EU ,$XPI\=K&H$4P\:3N+U1KPO"DD:-J
MM.,IV\AN;U%E34SC1R!,3J0[KFI(%Z &)7T^7-,EA>]R<T(>!Y(Y#WT;:L3K
MNPEU<")VZ"-;LQ_=_99M^,(;VJS0ZB'?Y-6V3'F=IFW8<4CD(Y_@&"=> I.8
MV*AMV",1DCCJJ*4YT_OM&I 7H(5Y4<^.7B*5.=&@A^+3TC01NY*Y9(.OXQ6@
M-[2JW#*BB5^9LR.C\ZQXBJ3KR'>''3E] ?9O0\^2B'#QCOP;('(.YTOT&E08
MZW22UX)H29,_]\?X2>([H4\3)[;9'Q!%7AAV* ,<266O8V,SO5:B?8[]6?E^
MDK&]+I9]S]GADO'PB&L!*DO^FEW]@/S-\XLNT+TKC_Y*R]7%RW]63P,FO"Q%
MKV-.S!FFZ@+SF&Q,9OWK"ULF]8+XEOMT6X^DIDKC!Z$'(\=)V%0JM&A((M@^
M(!\&+O&$3K(K?K3I:4N'1NU]!UF>!,OAYBB2U%IA=@QM0#_DX>2F<B7"YJ%,
MJN#?;/X>P(&T+K3W3C'-*C;U$UH_<J9%V/,\RT(0H23T29+$KM.UZ6&7*LF$
M4DNF\\T:$]B# G]R6*KBH4:FI)88YU%.6J0I-*LP[[$C(CB#6)V9_@RSY9@<
M:6!(\B+.KJFDX =?%J[M4#O"5H*\('3]@! [ZMJR(R3T2LRP%D96(_!G@TOM
M9DU9]@3GG\:)&R8_YSDS>57F2UI.S>$&T3@/O1EHP_L78 YB1'Q9F>_UJD_9
MM95#"[+9%XT22$B 4!Q'+B5=.Y8517(KRK*?;GPQN=[E5B.274F6)DIT$=DD
M1[+KQWMZ)ELW?D7'R25C5>KF(1L#\+]9*![&A*A<H-4JYS6<=/TUS5>7&YP^
MYOMU:2M$F/I68,4>=2T:4!+"/@6"<M(QK"7#,K('!SBZ3_D&M/CD1&4@G6("
M,QZ3<F)SG,2)I.<D42=D2 _!\Y D3;84)KJ@G%1]R[8L;<I6)"WY30%5VY@=
MA!Y!D DBI)@@XD80[8M(@=0Q+,4F#(M3APITL.0T294W,3$:@3(Y%7K#UD3B
M\SXQ)U1G()/SD)NA1A1:>Y=D+K1<[AYVZW2;K:ZV]UG))VQE=I]MJO[P>??$
M),:0P #2R$>.%\9^!/O2D$,MJ;4F?:V:SI'V0$&-%+R "CX7E:0R:21<,'.:
MA&O)+.H*7P*TW9;YS6Y;7YVQ+5@^5=8%H&G2*%'63J54VIF?A]X9L.MUJF6(
M.>GEM,_[QUJ2P$F" #O4]@.?^+$5]/(+(T=HU_" CQ]ON?VSZ@XK%=(DU\K,
M\*6\]BY"E=GEL<\"^XL&L#</O1EBP+'5+U4N1!6$B11_]"E+LN;/RZ:N=5^L
M&5E54QS_5JS7M"CYWK=%B(A-26S;8>23),:.$_>%<<^"4IM(=;=M6'LZN."7
M#O"O(&_KMRWF?P<-:CE!TNX#,;6:DGXY*9-@'OS)(8,6\\AR)\GH"2TTY9MY
M"*4QZXIQ>KCRJE]S6/^RJG;9:N%[(?(3ZD''L:,D0B1T^D4#/\1DT=PTSD)!
MN95> 91J26;DO@8E/(CC["[?U#?4QBG[P3*;YB&#(QR)+7PIL3J/,3?8BN.+
M8 -8D;K"^\6X72#H!S"T[3BV4$))&+*!VS44LW$K/WP4&IEFY$QPC?,+6DXF
M\<H<SF.<##'@O>N4AW A/#K>/P2P/\\2/^]_I3W+4A]E.1RYEYOF?,#""GV8
M( M#+TX(=GT'6DF_F$TC7ZJ","HRTQ, AH8/OS<O'NTVS,7MUX_LGU07[25.
MDH6)<=TH6-.8K0<ERR'#CWVU5_8U)O$)2&/4R&JLTQ^GA'P2O\\D!DQC^^OP
M,:$'I/*RIJ4WK[G4/[MJ+ALE/[)RF?,W5!'VPY@&(0T""A&E?NSV<ZS$I43Z
M116MK<\F@B@\IZ+7#:(5[RD](%L0Y^RVZOW>FU,7[5[,%C/H04^0;\MP>BX=
M-^*?F2BU.?O>2^8-,JGQ)5+LVQYVV'\"RT<N#:(8^?LRE@47F_J=ZY6$R YK
M4&A,1\V8/L0FL:]HT&ND'_+%3%'29S10-1DD_V*F'%<:7\ST[2#V;!IZH>_X
MD$2NA[MV QCZ^D:B6'L3#L3Y##X-#SH*TCS_H2=IC_R#CE),B1^,Z.XVKZZ+
M(]N=ZY%_\WKV](W?LUWEV^[ZC 9K>T4&_X4&=HS=V M"R[5)Y,0PIAB''6S"
MHKC<V8J)P1K?DL,Z05LP61X65K(?_&O).T0G9TOXG,<'\JK</.G -+Z]\=7)
M$; _.7)QXIJLWLK^2JWV?JP#0\<^<&+68Z<V6,ZEL\PC(,V'CC<G9^8"3"H<
M)OE3OLHVJPJGU?V"S3AC%Q'*YIB(LJS7I6'71NA9,.ARSFOQ$";7@$*2>2T?
M=KK:?/V^40M/+M1(TB86%PQ0I23B/8X+P)&,*[4O2#BABVIDS4/$%+$7.KJ+
MY/ZC9HMZ_I0U3X)=W7[)_D++)7^XEZ?K+&=?YH_KK%LJN+I%J^:-L(5C03^F
M!(912-S$8RJ%H.4D?H HM&B$I*XG, ?#<(:[#PL@K4 *V*_NUK7R;.\SD+8H
M^=_1]S\ &Q/^)]L_>'HUJ\ G]M=MF7XBS-;M,[@NTTUURY"TAW6V]^F&_<83
M:X*_O_O+EX(E3C8\7K$:W=%BZC<3'\M)Y1XTV+^9QW"#/7#0(]\O^];^;M&/
MO(5-F>53N]S,NVX>PCV&H:_WRHW%K6A(.'98Z8]-F:5K?E?HWXLU?TSJMS3?
M\+.#5YOOV7)7LE0VJU#),MW-W6&QYTO&;&)*M[!<C\F?;[LH\1W/LR/;\;H(
MYCH)DGM8=S*8,F*C] 8O0P)VO17@CN$'OZR9!;\"_B[<4YJO^?'"3[=%^:E*
M:]EYRMJIR0789$WT27_P/W[Y-]MV1U[<,.69$P(U>6>8AWQ-3T,QLT&J1_HX
M,C9?7Z=5E=_FS>7)^\2/,C_PP[^T*+^G_ VKO0D]WM"* \>-K1#%213[<>+M
M\?HV]!0FWM.!'6<2_]H&+F=<W'IA_(4KXZ^ *R,71IYOUW+(?N^T2,Y##@?[
M24$/Q^L;\Q;$$7D05,2Q/:-#$AF:++_;X%U99IOE<SUQ39<U\LVJ_MOZE1T]
M6,\)0@M2BF!D8QS$842[(^\AC+#4O:D3031<6&B1@V4+'6SW:$$ZT6O@9JA6
M%+(1?#M_%1N#! D)&\TG0P]8>H&/'1)2Y(4PCJTX1C[MRZD>M-L38F0CN/]&
MM1T9%7D)25A)2/WT\\]RLE*4T'D,W<%6")ZLE&-EP,E*ZD2Q10(4.G:8A,CU
M'+\[I!9BVT.RXT:AB=&'S,<Z4BE*WSP&R! #SA^IE.-"Z'W6J]VVVJ9U_VBO
M!L %7[Y9MJ].7V<_MC&S\)\+&(8D\5POLD+H0PHQB9N$W",8">:XFILTG+,>
M .UNV0 ]5%!CE7A&5"/3IU>H)B19;C7J-+_-,TJ  P4U4IDW6S62+?%NZS2D
MJ[W=>DC^;4O^LB>_OO%OZ-.MPG2\$Q$,\3F#)UP-&%48[8.22=;R/EOM>%$G
M8<G*4[T4>+FIMF7=1RM^+TU[W]?5+<TW+"')T_77HJJWCM$T+^OM8WN4?&N(
M2Q BE 6XR VI;_D]2M<.I0Y1CHS-]';DUAQ>(MX;! XL:JZ.ZB['8[_66P4Z
MLRX -ZPY%2AY$G-L3XMMS)BSD^7BHW;_RL14,Y,!O;XY-9.8J!?,9!HRE?6O
MYS"3>D%X4>#VMLJV?'L*JM@7K^-D%!/DTH12_M:)$[@PPK!O-/"E3L@,;,KT
MA*='!QIX<@%A*(]B^CXBA9+3F=?L32ZWIZDZM4ZAA^-YB*$N8UZO&^CD2%-V
MW>T[.2*L6<EF>@^\!G@@J1Z, ^2&D>][#J8TP-CI<(:.*W7+[?CH# OB^UG7
M!?BMWL3&;9'<MSR!_[1DS1.[3DZ(!;PVN31KYUL]%S;HVWD$@ GME\N'C7M"
M-,Q\+8O5;KG]1\IOX-H^)WFU7!?5KCQHF-_RDOA1Z%EQ0D/H(^('-/*Q#1,6
M[A*INHR&Y@P'@@X:N+I9YW=UI54R.=9!J9B4C\RFG#:WX$!/Z!X>T^2IU/@\
M92?D52/?\]!+G0;]?]6=RVZ<,!2&]WT*'B"5#!AL;RK9!MI*:1=MI2ZR0-,,
M2E&3H1JFE[Q]S7#)-,U,?(S-N%EDD8SF_.>'\]F \6F<G9O0Y@_#&V<?5K_>
M*;9N%5#[Q88?JK;:_NQVSL$Y$YC(6&:(R(05J:!]X$A0(C"LW\/L<(Z)IH0%
M=Z,R:!.'^5[JH6QA&V$HF\1=!)V9D[Z+X'W_TLJH<>G.#,]Y=H)E%@WW@V4V
M$_JGY8)EK\ L^]QLO[W=**9>5^VCR*F:&":DVZ$^0DE(J20Q'R-':0&Z:6DC
MGNOYF5+VLMZ\_-YK,^39'#^!0%O(2F.B=?KV+P#W"GUAVG';=*!FP73/J&8C
MHV-8L^86F&OJDK=NU97RZZ99/XI,<4AH7C"24A8CFC!:%$-D&0H<&W%M1CS'
M7!N5!3>=-$.LS;$3B+6%G#3&VN3G7J O5#ONF@[5+'CN&=5L9'2,:M;< E--
M!2MQE',989$PG%&222HR-(90_\C+7;-;W0+QI?/%($Y-&L E5I^MAI0).L4"
M\<JSJ@!)/W;ZP_/7/<^GY1KMP[WM=GCEX./7JMI=-OU[H.+^X0/CVL1/*I2X
M?U.M;[I7Y*NVOMGL/[M_2E/&4J9*&8L)"E.:QPR-EU%AS)($U.?\C#)=SQ6F
M=5[MP7(Q-<@-V07[]((QOXNN!<S!H[(QQZ!+<G@^!FPW?,Y30&^B\I\<?=C\
M9M$#[X3B[@[+B3'!@W/!CQ'&!R,:[^H4-OH]I8W_KML2<YX1@C%*<LP++-,4
MI6,X(B(&&;N,@S@>>9[F3'#5:0,.(>8^Z@T BU@(P[>9>TXX?,R=$Q2=;:@?
M#)R?1F/Y1)O/GZRY6]6;$C.4<"XQ"K% ZB<C23@&5)<!H.>:,\*<B4&].@L4
MTG73G$,.C+1#HN<\7(Q%O1 @C8"V^LLC:"(:1#+R1G\56?5]5:_SOCE&RS?K
M?J^5_6XJNW[5]+OJ[DNU+5DA<R&BE I!48(X2K-I4H;B+(.M)K,6UC&S!J7!
M*#58;=;#-LF#6J/W,&SZKD>S,UD.HYNVV\%5KW7Q16BZ)IY<C&;]2/@!1!>)
M_;,XS9%W6CMQ\.OK[8]JBCX$$FIR*$/&DH)SA C+">53("&U;GW.^'K' !Q$
M324)V.'!T*[3/%O(*1BW'IOT/)ZLN078^\*]:V;[7(SN#2VZVKF;6CR9YQ-
MMF"*!YM5S$R@L7:" -L$/=PTG.XD7M:;ZNVNNFM+&=*B6Z?""0DQIGF:C\^_
MU&Q7I*#=.N=%<HS7OQX&'&X#T"D,]A*!%\8SC=6;32[G*0S$L^QTTWWHE%,G
M9HEV'/9C8F@IE\?=BBPZ!*=6/]<LPXC16'!.:2JYR*-"1,48!E-<F(%*\\L7
M8U.PZ@2=JW!Z-[1J!6B<;^4!E7^T(HQ\@!?!9;WZ4M_N=P4O,YZ1(I:)3+I&
M@B).6#&\%!3BD.:@[EQF$98KA]M!U?VY2N+ %JVZ,+'1M^(PRN%HA9@[\E F
MAT=?C3S?7KT8_Z)^=5TY7[WX U!+ P04    "  (@9Y,W.W@DH=Y   V3 8
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
M )&"&,[#FMO9$\2*!.!5KQ7U*KR(AD30X3V)BE'V1B[N9,03J80C A(&,:.
M>K,[Z^$V)9.H?CI<$41SD3GIK0FD9UANDD@:NE=VX&59L(.9=9X;J@4.)C$'
M9F><:)J4\#;TQ.$N[Y4U)X*N@+DMV!_KI8[_M9K,\VHY:X>&90YYPBAF*NPW
MWBHGL=LEYU'BD^HP##Y?H4UD%*T)H3.XS8MQGE\O8D&HF$?WVV@9;VI_5;-K
M4TRG^;H\SJ)JYN0);\N09"H804HQYFRP6H*=M&,VY.22KU!T"<W6)=.;@@RD
M!;-C^37>,%H&>F*9@X?X2!UUN?<EF11.404]"/+UX:_$JEWB/N<L)=GKU#.[
MRT1H6R+I#9AE*N:VIEYDY/8WATITU7E-AH)5#9CPF"HL06P=2=DNK.ID-TU8
MNW:[^P1E<\(X#LOQ[>Q+!)L !&R@%G^RFY,OYG:R)CFH\KRX>9S:"^BJ.#+C
M&")ML9".QYK2EFJP"R(02WJ\WW"V6&J']<-SE!MQD#,N,%:<"BBIY(1"Q>$N
M68,ADZ+1ZA_/#2)^TX9>:TT@/</23V:CV;BA^,V!EV7.4,2U)L+'*\4R2/LQ
MIXB()#TY]%NW7<9OFA-!'PYU+.X9II]ORQPN_I@% ;\)/YC%]@_!I'VYE6,T
M>!?AL>DJ5E%[V@VOHNO=^'<S'BP;#H1QA'L<N]F;L$6529J@HPC2H)ST1I!Y
MP$GO6X9=>TW!,'KLCQ8OH.T*Y5;PE?8/SJBBD@8#&D&F":*,.%OZBIA32WI(
M[N[#H&T%KDUSOVO,Q6OM95NH6GA[>6!&B<%<4*LUY]Q!CY$L-S^L($[1DL--
M[^X!<(VP?WB6:B,6:A9ONRN'%>48&".LIKK,1\'(N)2VAO6;%P_"@6H#BJT)
MI"M8ELW'W)?Q^N[WNZ MKF;K>-;L.OX1PZV?1M,C)SYU7I-9K"6GWD,8V$VC
MAZ#T;C=01G8*S0MPFEID?E<P?'FRF\+0SW.?#L"PSFLR9(4T4C//8XM="(S=
M130P<"X%AO6O&W2K(5N!88O,[Q>&*NCX^?QK4.?'FA57&I]!+PC#2EA)*<3&
M8^=WUK#D).6>2^W8YJ8=1L##?'F1\$OC_67ACBI!1'3%'()0!_-8,%K2'ERR
M%(57^P)"#VU8>D1=/<X_HJ[[O@;?]W/X=F[]=#C8S&2=I/+=_.HU/:CRILPR
M(#WSVE"A>' -%%'22V:M9H9+4"E8U)H7>4*Y>6NA=,0!#C1V6@9?1^$M/58R
MF9*5/_2P;6NB/UAKOA[#.]MEOJ>[[&Q781%5&)UQSCS4Q!.O/!+" X7LCNZ@
M[_I*XCMO;#7/^9.33N(^=Q,WSKO\^O;@H>JAQ\-N:PWV BBH%>1A=_2$E+.%
M0J04P$A22.W@I%'Y%8VSMROU<[QAU&,M3QO,PT^C>,356G/ONA_+8L]TQV.F
MA?".,V($0R57<7 E+@.TS0"K=J^PEJ71-\:KM6'^AOC6FW6_^+5,$<F1T-9Q
M2%W@L2#:[101P2FJ>7A5L#H%>W=2&0+:GU#Q?U=AC=]$;U@M_K'F<2*V*[T[
M$XAJ+K&UP:DW'"GE&2AY)ISJYACVA?CNF4.X#>8/ ;#EU%\.6%=PD-)?GG%L
ME:(^. G0<J>88]Z47(O>P@5?@FK#2.Y-,GWC^=0>K(T8UJ=],A.!CX8[)IT@
M0#$LF=AM<0[Z%.P/R+SN Y(M-^X]48)]KY%JYI@OYIN^$H\L:-TP/_#-C N#
M,2+ &&V0TP9JNMM7M01]F.>O;9UT+<2^%XKZ-)I,8RFMFV*^""0]408[JG>B
MB,V" CN6R_GDXVH91WTHWJXE?<)R:>C+F;+!_+44!-^)$4Z\06(7CO=2='M+
MHS5/8,!+IA]!GA[E7@5QSL9? S-FB^E:Y*/'/@)'@]Z51@=C5G)JE2.$".0A
M,P;SDA: 14ISG*2K0^=CWK?'[;Y5;ERJ80/))[>SDKX/D;[1NCZ#FEU_>*3V
M^Q5THF%R^@<SK U&FF-,C 9 2 Q1J2\<%;K3?N:?\OG'H@O/M17XU;!!.I/7
M$%9#.P9&Q3=G0  E.8Y]BH76S@O+2O$YJ'6* 9&43'\^NKH?20P@L^*TC(J,
M0$<DIDA:8J$U1G)11FZ=]SQ%HPZ]?N$ TBIJLG]8"7N;E7*7+X-O.OUVHJ\B
M>T\@I;T&6CAEB!"&$1I5A(%(<@4IJK)T!G9>UM)1641ZK!J!@'9 (.R$-< $
MS;[E%M-)]\0&&'9M#4M-':#5%TG?UMFI8>-NCQDB7PWW#"G/,)0RV!":,TI*
MOGJ0E, S]-.UOG'?G=CZ7@XO>64;/ZPDN;&U<.JGLECHF<8+6$Y1@0VGS.*2
MHUKJ;HMCOZZ%T)',>K1(M\6_GY2IZ=SVW+!Z-ZEJ_7-?&I%I#1RP7G,?=(XU
M3 6.;R[N*.:TJW15KR7[>C3-%]OF$X?;-SQ[,K/(!SQ3(J$ADG,G,>$[FKQ.
MN7XX]-L@R6(NFF1M=]&)15!WOQ3%]2(6#,KGGR;C?/&^>.34B\&)?8,R22"E
MV'L0*\+!\!?BZ8Y*"GJ[Y7&& &J,RUUAZ9=YV*+>SHN;R2&5\^2IS#HF) %
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
MH.K,2L(T!+$FV=U=</2 )_WK9):_"2PZ%*&H]H(,PF!< JN%,<@@:06#._.
M89;B!@Z]+.L9!"M:$>(@(/PNCYD@L3CSF]F^NK7NYB:/Y\;YMCG'X9*C;7PN
M" YYP@6$Q"L1](+ 4CSA;&^Y33VLB!/@5@?-W4AH*-C?-G+,K]>M&\?CU?UJ
M&D/E5^;-F]FR: /_IWXR8\X";8/S:!E!C',)U&Z#)*Q:?M'Y..@]KX&.I-1I
M.9\]/2F.]S.]FCWI6]%Z"]P7OY9YKA5QT,0;[E@ZRDU9C!T [41*;LP XP@M
MH[]_ 0UE ]CM=1L&O)GES]9T=(COBU4,MXRGJ^N-0M@M_%F^6'S(%['Z4D-6
M41/SR*SAL5.&@=X@XKG!&H%2%M8GW;X;8$!D*.92#Z+K?AD]-F]Y_%E5Z.\9
MF\4&E-I8[3P%.K;WXW!',^<H!:Y#C[1TAMUF>-_?382_+AM\FZLME-:$"B:P
MXH)@H#19WV6C#FLK*P4G!\.KQ4EW!ZJ\,U-*&B4E1X )(*!GF..23Y;0"SL5
M[P11Z?>@3I+-N27S&\"0,01)';0V9DP'_5I29SA..3ZX#.3514&UW/QZ;#_'
MW'R.#:5,(VB%A%0B( $M*814O([<_,IBKIJ;7X^KYY- 30T)EB/4 A%&$19$
M>+"EBRB"+^Q.4;IX*R10UV/IY5SC@,(0PRBT7&! A.;4RY)NH\QKR<4_%4K-
ML[C7(-J1S?WDL_&J[\TL-\PXQ(/RUYAHCY0J#=9@-H"4J,$ X=B]@=6E=+I'
M<EF+Z EM_\@/=D4\.C9#D@.KM82(8*B8]D[9DF;H3,H)W0#WVH[PL1>5S4BA
M*^3]-OHRN5_=O\OC'A)SRT?+V/KZZ]7-L[2H)V<K\  :3WI?YBCUWE"+,. 2
M>>\(825O"*U64>>R=68Z0KN03,>H_36?W2[OKFX^3.[SR+QXVO'TKD1> :G'
MWY$)B8'44 %L1?BO9D:ZG?43C*Y7<,;;%3H;ET9?)P-7-S>+?!E/S]0B_.6O
MDX+G<5V)L';!1P5!N7#MB"5^>S& *V_$(,H2^=%D_N^CZ2J_NGG\X5J>E9BR
M?WA&+ +$&TP,!(I3A6W0LQOJM04\J:YB797R*9]_+(:G5.HC9:])UI@@NO<'
MUK,TQ31F><U'TZN/T\GM6N(?BG=YV,#7VG&C;"IALL;[,D&"C8IB'TO%)+($
M&0E+WA@L4^ZO5+?*Y :DL_PVAB@^#''[:Q"I[8FG)^A6B[-L'LV(DT(1#YVF
MS' LE=>FI B'_W1J:+7>H&< 2*O+\NY!]*+J_G4R^CB9!M_E]&UX]XI,.BJX
MYN'_,/4""Z[*&XI< PU2CN)K)Z6]TJWX5&%T#\?=3!]U]+M82SRJY_%T-+FO
MN1W7>%_&?%BK'E%#A)($*^N4*WDCK>ZF%_SKVH[;$T]_T V\J@7-\'R&"2)0
M8"<IE)[%O#RRHTU F7*FD=0\_I(Q5Y_OO<4Z'ELE^&+^>32_CMT!(SLV1SU_
MQ3Z>@40P3(VV7EKA"!5 $KD]3K4L_#\_A-A']=S'S7&>=-9!9H7P6DO.O(66
ME309A5/ZC V]8%0G4-BK+TYA_[DE+0H:])T"!$A,+9(N1G]+ZI3BO9U@=@JN
MFH*NEI=8C[/GF)<H.8+!K64@=L[VG"LE0$FAP.R26WZERKQJDF(]%I]/DF)0
MR5AX[X))1];!-6Q<29<WYL*R]-/%6R%)L1Y+.RMUN#WZ/K([/7TL\XA;H\/2
M45A@B1C!2)24, Y2CG#.IXYKVIZ4P,]ZR%CDX[_=%I]^'F\_N$%&^:_GJ"A_
MGJGI=#O%:+SMVX$./9Y1"AP,L^?2.($X=ZX\#[>Q;'LE4_]\5,AI BT:YV,G
MZ/C_WO['(32$7V>0<P(9A]9P!7U@0CQ4W,R:4XIZDWZ+.J(9*3Z'1'UF=@(!
M\P]_" +AUYFRT$-*%-1 0PW#]F<X() +(GV8?DI#]P&EMK4C]?K\ZT3JO^BW
MAZ0>?IT9"Z0 EDOAL!>6!C)+,X<C"5+N) RU;EH[$*C/S$X@\(\_#B[\\.LL
MV,8BS-A@3IAF5E''2Y*YT#2E-MA06YZW X'ZS.P$ A_^:0]!(/PZPQH[Y8%!
M4DA'@242Z7+6)ORJDQ.[2X! ?69V H'_\^Z?AR 0?IU1$DB&T'*H+%=$ <]V
MLQ;.IVP$]4_.SFS[K\^_/DY5Z]PGVSV=817V,<LX!HIQR\(.A\H8'"<8O(["
MJFG1@W2V]I03]WL1)3::;JHO54^0^W9<ID0P@AT&"!C@A0K+@NWV1*9EBFH9
MJG/9B.@/I\0E,;FO$_CWX[O\>C7])JGJR:_?S'8EB:]N_&0V"NIY-'U;+";Q
MZ[N4K+_.Z9\=SGHG(#*6.:=AV*DP0FS;[0=BA52E%=8.KW8R>](,>Z%'TR#9
M_/U=GK]8>KK,RO@0IKLK8/TDW'_LR+^]CV;8F*#KC<0<0!;</ FT*#DM*4WI
M\G(^NJQ%@#XO>3\429Y;(H)%#&/*E3.!&J <!)24U'E#>MMSVX'F$&!2+8VA
MGES.,HW!Z^#\N&#<*(B$1M!37U)(F.STQEAOY94JB[ERYD(MKEY.S1QEC+1(
M*D)%\+9P+ :.2[HY%A>/IKKB/Z%F3CT6GT]2C%24<XD!L-H*96-(%I9T(:.[
MN15XOM!)9VE74'EIHS]B->T;DA&E+.>$@%B+S!/#&&"[Q:!12G;PT)-E!FA$
M-22F/H%XU)#:/R@C$E"E# &0:!#^SW*Z6VX&]6?$=P#&=,E7@-));.X*3&_G
M^<-H<KWM'Q@=[4W7B?6APW)S*_;HOEC])6&?,$YKQ(36 E"@ +.[-0JP3=DN
MSQ%L=;%1=,3XX_ ;W\Z^1% )$&:].0<,/\G4>#Q?Y;L9[87._H<S'9::@5)2
MKU0\)G-<J-U,M>FMQ?%Y0:0Q!G=_*K38V0CUCA-?&)<9*#P*L%><0T*$BXV?
M=FS3K-L:"J_>TFI25N=0P0,B*;!62HC +NU0;+^W\XH$N;!TYX:D>ZQ&1SVF
MGM?-<AO,3H\--51[8S2FTF_;<T$"15**U-#WOK;1<SJ;^SK&7NO:Q;=S>=4'
MT(II#C445@6K)1BM4+JR9JQ13IQT +W'CCUVB?]#$(0.[_ISGVU;^049$L)9
M2J@$ C'D4;#3Z8XJ:2ZL4T0G\B\Z$$17&TLSR2R'\-K2ES*#B2=.*><A59((
MSP#;\3/HV<L*C7<)[&%(K*L5\+QX[%$%7&U@)K53Q%OOM20><X*D03MJ.4LY
M];N,0L;)^&Q4  -1N&6+QCV+*Y_?%//[Z&,WH'+K?RLS%&FNB)",46R\Y\:4
M?22,P"2E.O>Y-)7M5^FV+K,NW)%BO"8F<-+-EL'O>S-;SSJ^YP1_9(^-?>@K
M!SR)RF,SY0&$"M/ 34Z!$ QO2\)"A[UTE2+)AW1,>4_F.I]$]4+B7R*=Y(E6
M"3_*-C-\E]].XL1FR]]']R\EENY[-*/82@Z]L(09B3UE!,B2#H[ )::#MB#D
MHE$NGW:CJAI23!X=E.F;L+"^_)_\I;*N>Y\-5!@*##/$ ![^1)HP7%*!C4SQ
M)H<:0>H"*VEL;@<LVV,^'[:VT?0_\M'<S:YMV'+VX&7?XYD"3'F,":)>X@![
M094N:1$>IO1 '>H92;N0:8C3;:H8/YGF<Q/F=%O,#RN8;Y[,..>0$B2<4 );
MH0AC.W8 AU)*SPWV&G<'ZB6%R>W I"0X'@3NP<?31S+(F2)*::LL$09QC00H
MY^Q,4@N/P5[N;A48"=QM%Q'!A9D4UX?WFA>?S8RC6JO@YG,OB9-<LFW]WD %
M822E9'?2[>^SQT@*F]L%R^,>Z,-/7CH0/?!T4(3((X241@Y0CV(M<;8SR1U-
MR1;CKQHP:8SN C(;2%<'S9/G,P -"<Z;,T1*J9$U2OF2&DE("FS$7[!)8'4[
MP%%A:M?KZ4U'MWO \LTSF2>:60&0#%NJ4!P[C7=P-SHI"U6^2H"DL+?52$IQ
M?U_,WB^+\9_O[P)_GA;G/QQ6.3 PP\1$HJ@T$'FJC"!PQR&H;$J,'8)7B9_&
MF=Y!D'QW?OI;/HH'"^OH?V_9.H]E*Q[[D%9(QSDT+-,N'D4@+*BQ@)MX%0MM
MTJ0$U]A5PGEWU%8Y;SLX+@/*6!VK,HEX%.3CZ= VQUH(:?@E7TYH!@?[ZBHT
MP.V^%O3FX#HHO"?Y@]O?7ZOE8_^NV;L\5NH*FDJ/%I.^&]RVH0T,EQQC#9FV
M!EI#(=>;Y!#&E?2D4H2G96H/">N)A,(#OQ>S^3<"JUSM)?4;F6?08R>E( 9I
M&7LT:U3RT?F+[L#0#+[V:9F.)=-5/LJ./OWUB6+R\_Q?JPI%^BN,SH*UQB0-
MI J"D*&!#9)OZ=8 )EU'/AM$=@>>??!M3$"= _.E>1^]D5QA= : I(3&>L<6
M4209(=:4=$O-4DXFSP:83<!B'^0:8WV?D%OL%N?1B\I5AF?$"2F1T0PY1;3T
MAF_[ 07*K>,I)>K/!G1- *,"Z!)YW\,.O/OK/R;Y/'S_[NNO^:=\6GT3/O""
M3&!@.(6,2BZ%DE9$/F^W$,^2:J0/-7=GD/MP<S+J52]^3\9)F_+>]V2Q& ^1
MP8E7("Q71AGAM.0%"%[\:]"4#:&EBK)L2 Z=8_+-[&&U7*R9 JMOT=^/RK "
M2E F%*:<$:HM5;JD4S.8%'<_%[PU"XA]L$MF?I\@0R>!;#LJ0X#3L'?P8%@'
M<C&6VNZ,:BOUJ]B$.P?9:<SO$V3X))!M1V5&62<@A=8B'(QH23SP)9U"H)08
MX "OGO6'J]/XW16N?AO]9S&/^7V+>)?HX_I8]5^KL,;?1[MV;?H><2PJOB%S
M"G!+*%=06.<<D!R5RELC)5)\VJ&F> _'LVA'2 ,"Z5&WHO([,L\=1UR;P E/
M#67<";+; %12.=6AFWB-PZ0^#$\20E= -,7\H9B/EKDN9M>/<SZZ#Q\<EP5F
M>LJQII  JBQ@%)6[C5:87/)I7 N >-[1N$'6=P6S/]Y_F*]WA:\U,+9_4!96
M)#348(N UPA#@%FY:VBB74IYU:'[$^T#K#&^=X6NM1&B1^,_\SHJ[,"HC!+.
ME"+80*8,9U@A!TLZL4ZZ>#-TTZY]?#7'^,ZJ5Q2?\GD^N9U%AM2 V,%QF9<&
M"VQP[#7!@ %$/YXT8N)3;J /L*I$^[AJDMN=.0*KV60\>1A-XV9^'% O/9XA
MZ;E4' N+!$/* ,GLSG8%).7ZZ%!O"78'J@8X?AQ+^^H^W\8CXL/(>/G!3 K!
MPA9MK12 :FI);/VPG:$G*D6W#/568/N8:(37G<=7$T(TOU8H%=WH=S)E@^/-
M@AM./;3"8NWACI>8XY1*&T.]"C^<F%J?HNS45WB,D]<JLWIT;*:<@X1Y#ZDP
MVCELV*/YJCA(N8P]],!'3^!YR;=H4$2=V8'%+/_ZVVC^9[[TJ["UJ*49S>=?
M V/6=!PR"0^/S"Q!7BA*L(8> !][=KJ27J?!)0=_&P3#<ZNP4:9WIOL^C2;3
MN$/X8OY^-,V?&$3?>$R'5&#%5X0%[)6&6AAG/*:82>/+/<A@=VDMW-I#6DL,
M[\P*+=8>^:9XT_BK&2WN_+3X'$M);C:*)]>]#AF9-5Z3"8.$$,H&6T=R*R4%
M@.TX$3AS67D [4&O1:;W!;]MD?+U[%]@60T$'GE3YC' 81T* 0QBBFK+J=SQ
M0ZC>:GJ=.PB;Y7M7.'QB"I_F>E1[019K:CJC(8+:0F:8AD24U'MA7D4/S%[]
MCU;D-(3-NB3L:_J&_=*K,H,0==! CBRE# <NN#(!PUC@+CGMO6G,U-C&&Q!%
MSUOY8D="(_OYP==E.EXUL P+;"5&RG.&RYM41GMD+LNIZ1B7+4B@*VSJU2+L
M'(N%*>X_3C8]_2(Y85L); Y_6TR"C+>E,[;$'8#F"6_+I(#8&"N9@,):XV*[
M\)(OW,L+:[O1,C+;%T!?A5<.FT1K&^B/6?%QD<\_Q9C#.ND[_+J8C<.H3>?4
M=0V6RRK)1 7'SC**@6%<(&^IW2:R$VX(J&0UMTQMNN JUV)IZ%,9E(8XB*6S
MF#)!";*RY*K0U*?<^1E@"[9F +;O0*X?F5S:57 IO>92.P(=0!ZCL!V(DGHH
MS(5UCNT//*== J\GG<N^!"Z()LQ'9GNLI0!6 %#R0@+26_&@EI':$$"2[GW7
M8_WYWI;$EB#C@ZL/*)!642 8*>ETTO1V+MPRQ)K%0(W;DO7XW</6VU(=-$*I
MCV%X'N]6>8M9I'U+MT4PY2!D@#&3(6ZZ#8FFSQVWV0IHR##!#+62<ZN5YEB;
MW?+6DO<6:VY]=TU'P@E%S^IQNU>[KN&B9]Y:;9 V@;?,0><#V3O*O3*]E5;I
M;HL]&0NGU#FKQ^[N;MB^&#G47V.*^I']]>C8S'!M@R$A%8$62DHU50Q@AZ$S
MS/"D8[,!QGT'L[LV+9B>P1AG?71G/3HVXUI0OBYAR$%8BU#J:#:O:0Z6KTZY
ME3M ?=<@!JJAZV1.GWP!Z;?1;+3,\SWS.7PGJ<K8]=49K#WE!,5VS<A@Y2,=
MR@LHO;NPB%R#<BW:Y?3)B#%WD]&\. DP%8;&.JE8<0-0,%%!#/X A ,5!*MX
M&T^FI'8.T)EL"2_-,_IDN/SR[V].PLJQ<5FT CD1D#C) .+*6>'B_!7TG(JD
MZNL#M(M: DK#7.[<M4NW$G^M<P&RP<]EP?U&1$G"O('6$\V%=:5A2M/J90\P
M?7@P=OT 9-EG .2?D^7==V0MOJ5K\>Y9RNPV ^9H1F@;WXL]-JTC&A)CJ:*Q
M9QGBN\"5@)U>N'Q8MW!\OQS-E^>R6DX :87(3-=B[3.+7UW_YVJQC%37S-Y_
M')AIAKP/5CBPP5_44 $L=]0:IGK+VG\%\&U4,G^I[CIK/#B>EEGL"5$>>F2T
M0;L#40QY2G2\MHG^4/;Z?CW('X)0^TJ#71N)EY7#R@4'2BG O"!0,,*)U)O&
MCP0R1GML)/A^?)=?KZ;YU4W=*UJ/)4VJM"%M]#M9 '#@FB"86H<5Y01#4/(S
M>+N7?!^I&9P]+\[6HW3.,/!0J^]N@Y\+EC>FW @+@ Y:&Q EW$Z^WEW:%:=6
MH#X N72PL;X)8V:WDS#OS3KN;3?]I2BN/T^FTZ!(GL^IUA7K6N_)) ]L]P+Y
MV!70,N81"]Z!-T@!0B6N='+5#C_V3[Z*4JDP.N.2<FXAD( (!X2$G,M(NU%,
MQX:SEW5JUQ(NBK;YWH,.Z/MR6#^J@&DM+5=4 <F0((C(V%\QB%Q3X3"OM!Q:
M-[TGL\DR;$B?\N\H.G8QK/I+,N"D%L'W,\"K '\#XGY% $ J_,? E*JC9Z\8
M*J-DO^'<+/L[LXKW3UM_71=K-=/1XEA3GAIOR;PC!EKK"..<"&%T4+XE'PQP
MO74X;@>&;0#DN47;&O,' ,+'^?\^NC^>!E?S31D6T$@HJ/$<Q.8R%C.QY0=T
MG%Y84EPK2*F.Q@8DT!4BPQ:QG$\^KJ),WTUN[Y;'J[_O&Y(I2X'G# ;;4$ML
MI/":!PJ9%,%WU>#"%%YK\B]:87=WN;WW#ZO _??%S?)S8.0SWE1HZ51A?,:!
M!Q8KKYPRF$/K'&2!=HXE9X@EY?@.,3[4$=3:X'UGN%LMEL5]/G^73S<'1'>3
MAPH-Q/:/RJ3 2#.MH%9:&V\%X"32J8C&%NI+N]30%<8:XWA7R/J]F(W#PLB7
MN;J=YYNCNZ/ VC\H@\BN/2XK&05165,2J110"JK2[F,-,:FN(UPUQO !^ *_
M5LGWK# \<Y(&M1S\*XDAX%)RJ?R6F01+EG*Q88#;9+\NZ*E<'P#>?ID7BQ.Q
MMAZ:!8,3 Z&ULXH(:Y@A! 6*":$*8(Y2;M>?E^5_ @BJ(^P47@\ 76H\7MVO
MPFZ?7ZO[8KZ<_-=:QJ?A;<_+,LHY<MSH6-0"6T85Y2YRQ7 +N3>7=F#<$P*;
MX?X ,/E[?C#%Z># #(JP_,+:"V0JYHF#@,452$&P3Q16*=G>]1V#8CF:7B36
MZG-Z +CRJV4\;7FR-MR7AWRVJ'+<E_+:X#JIL!<X+20*%HVE'M)HT"@<&*<8
MO[!"_WUALFDY# "Q+Q#S+H^>6)!]-*07X]'T/_+1P2HDZ6_/C$ J"(LRSJWT
M*FP<8LTWA2B#REY:J;E.(%9C7V]'3,.$=R3DP^>B,4!OWY>I>"O#$@N=-=@)
MS,PZ>J4#:RP0)"4?Z;Q,T*% ^#3!#!BTX?,'+\B<]L:,*F^@]M9B@KD 1/G
ME\ ?@<-_;%)OOO,*= \*N">(9KC0]<6J.0NB?&&FG#;2<^L)9A@9P8+O&;EC
M$54*\)1V ^=E] X)N"=(9L"X#<\VB]OP;$8YDL#R( 3,$//8Q!,* @Q!/G9)
M3E&X]"_<=B>9DPO.U)_=^\F7%W!X^LLR2% LQ13#*$ B 0/!T3NVB D.?%*/
M-O;*,=B95#K"G[H) FH4A$_?F EKK2 :(Z289)8;IG2DV5&B/= IAY3\+R1V
M*)KOX;A'+.*LHMR];%(IT>_.+MKT?(&]GWLVAE/.";4( XZ(E@R [=4JK;$#
ME=+"^KYG4_,B>]6W9=Y2'2NP:0N)4M8+R6E$K)0 .&)2"B,.,(K;$FY.OGES
MJARZ<K]*2HI#E.S5MK6!V\1G,F6H5 Y!QZU 2'B H0Y2\T0B2)E/20(=8%"W
M6T3W(*!.-LE/85@QG_2X,Y9S^%IK'SPP*M."26Z1X!(P#30!LJQ" (4VN%)^
M36>T5KMAOG]8)H+61,R@8'HYJ0B&Q(J26L%=;TT#.RB[T@@(OKM5WABONUW
MCWOODQ]NKI=?TMKV"&+JE#"8<&" Q9IO)( TUJ#'F^.[6;\;??YM%%;"9#2-
MKM'5S;L\UBO)#V6M'A^<&>*D)CQ UP(>-A+/M"@I%[R_5@%]K_.J@-BWSIOB
M>%>6Z6[B_RSF?[Z9O9T7XWQ1'VC[1V?,4$0YHT(A0(-B,QRKDF[$?,I159(=
M>>Y(:XSEG4,MVKZ+L+U$F[L^U/:/#ALJY,)YR9F0& @JA?=;N@W4)*5H=])Q
M_KE#K3&6=PZUP]G.3Q_+"'+*!&>.RF"&<6N$MJ"D)/PBY0YW_2/U)U'?<P=/
M?=YV:^GV',IMWJB5D#C @L!T\%6LY0A[M&&V]%4;?K8=IMW-WZSF$:$GQ&8/
MOR*3S@27S7L-G3!."DF0+KG >5)UXW,V<"N#8V\LME&^=[#4?\\_!R-I5JQF
MX\W=V-Z6^M7\=C3;AO1B-Y=B.KG>8&MV_?8)=>MX]V@V#C[$^_"3S:PK*(5&
MWI\!P]8]EXF6AG. G,%N(T C! (]JH\@234>!T'&CCC?RC10:.Y&L]M\\6;V
M])E)H/(AJ/<JJJ6)UV<.*A8L(H$D%T!IC"W>KB\C$347=A^T8\0]O_C>O< Z
MT%?O\J!?5WFL0WL[FSR]+]JYPMI.Q0>YQSY445BQ0GU9R**"2JKXALRZX)?J
MP'7IB7),.P(Q(% 92C@*6TE_2N<(!5442]579)!08(SF4%+KG3&6*QFY8#6G
M8;.^,.71.#:*3MC>BPKHN[!K=YI <.(]IT!+0)7ESC,'(=,$&"R5=Y6N&'=N
M?ES--[O-BYO-L?JN2>_-/+1(20.%]C:8WIH%&)?\0D2]4IU1&47538K&9=%9
M\DEI<;T?Y[-1<#^/5'I]\?E,*JX1MQ@JX;$!U'-K2]JPD1=61K,C'#QWLAO@
M?'<I39LI_C%;/.3CR<TDOSY:NG7OF PR Z 7$'N(/)%2$V)*&ET@_[+0E2CG
M[T(SS7"U:^0$!_'3I%@MIE_?Y0_%?)E?'ZTM=VQH1AVA4!.* *%<2.T-V_%0
M:=];U*\E'*5+?@^6&F)P5Y!ZER_*)?78// HF@Z,RC#!.#:/L)HY; $6SN&2
MSG@WY;*R'YL'4G.\[=Q,^B4O;N>CA[O)>#2M:BH]'Y,A815$!$",&$;8(.!!
M22/0YL)*(O1L+B5ROS.$Y;?/9WO<9-HW)H."<(J1EI!@))TD!NU<'"%0RE7:
M(6YUZ;)^CIZ&.'OR5<3?P[YZIV;7[XM5^#-XKV$*>_>L(R,RPH+M2(12@GN(
M!62.ESI5<9R4^C)$-*3+KFB#KUUI$K>:%P_Y40/GZ6,9BI?GG)'!L\#$"RFI
MH"4ER)(4?3' ':DYA#3 S'JP6.3CO]T6GWY>[Y;SKQM4;/_Q'!#;'V?F]Y=T
MQNZ7&:.*.Z X]=I+1$&PXDNS7<5RP'UEQ@U=^">S\.1=02TF(_=E/%U=!T/)
MW$UF1_:$?<]G1E.G+/,&"(:9MD0;L)NOHA=6%['A':$AKG:U'P23^WHU7E[-
MW^?S3Y-Q?L1M>>GQS!,0W"\<3'#J(;<.FYT=I0AQ*1[+ %5$/QY+ XSO&%(Q
MDV([V<519V7OF(Q)AC"1PB.HE=54.BQW9I2&O77S;@=<:6)^&3/)3#UY1PJN
MU^QZ-+\N)S)ZG,CAK>GHP Q[%#Y&O1)0TT".P'#'$QA^>I&P2)%DT2)[3S=9
M'AZF8<.- GB_"1^.RP/9]\5TW;[K"%*JOR&3@"F)@'!*>8$E)0J7V[EB%*4X
MN@-T8QJ&3&M\[FI7.G7;_K5"7YGD=V>"!G]06\B#3Z@]!4K)7;# <)MR>7J
M)G<_)E374NHL.#R:YHMM>LOA6TO/GLP0)$80H1U5T! '-"9L9UAP>6'-)SN4
M__. <1+?N\*1*1;+JYOU3;TGFT;0[M<'(+5_4 8E1LP3Y+%S#D$12"TC71HS
M]==!5D/H:DP$70%MW9,IL.AF<K#"V.-3F48 (:&%9MI([M9A]1T=-*DGVP"[
MQ_0'I=-YWA5VKA[R^2A2_2:V+LQ_/=R$[86G,PJ T<@QS(*%2BG&3J.2+H]X
M2D#[@DRM="RE\[Z[.]_E!,OLX,EL%2:^I2!X-CJ_*6)KW_C<A]&7X"9/9NN[
MF&]F083Y8KDN_O7T+>Y?J_#KW_+E77$=[SUNTE@.ERGH;!99O$7-.(4T&!_.
M8>&LV>T+PL.4-5"_F/8%Z]/ARK3;M14HVU:BT_DL/[SO[QD1VSH$.R;H#X+7
MI:^00J*D3TF5$KX98/'MOC&;RO_AZ.XDE9L1+P6#TD"K8GU[2+G;64'>^Q07
MN7ZA[5>M*6N*HK.$FM%\%N:Y>)O/W]\%)NO18C(^E%GSTO.9)D(:0K3"7A$"
MM&9RM[B@9BFEKNH7#K]@Y=8$]_M"EIU,5\O\4#!FSX@L2$@B(Y46L<82T80*
MO://BY2$#OD7NIKF?W?G]/G#:')=%N:?75\M[_+YII+PMD++P1/[HZ,SZ B'
M3 (B%;.:@O"_'=U"5JLGM"^^#/X"7IO"Z J$@1WS57[]Q $Z#KV]8S*"8G:5
M,5Q2:HTSD )>TLBI2*JE_]>)1@LBZ IF=BNX[2%,+/(2_C6IHNB.#<V0]4(
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
M897.V;IE[WK8XAED,P*_%/54P^$H?3,8/TFUR@VZ1M\;,-2."B@H1S;R'4N
M5,EK9D7.(L??SQM[*,+>UU@]ZB5_*5*=B/AS,YVL.+ <C+\6LP=T3(G:G4VP
MQ &FL-7.>0H I\"P)S,FKOD:>4\ 7U<9U=9 <"G*N=_1WL<)V*!RGC&;@)RC
MQ$KEH$8<(NZY*4VYMOZZ2Y=<I7(V#X)+4<Z3O>\N=+:^20:L!&.IU8MFP&E
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
M.U@47Z>Z^#P8#>W@\<_I9/%=38;_+ :'/*CJ@P2(L,4QUH5482&P1@JA9PY
M#M+ZOSSF(ZTQ3K>-M_DS"M9U%&=G *["*,'HJ&R$*T$-(<!AG_I3;_@@N<Y)
M-.YAJE5CB*N?U:T<6SX\#&:/-W=_C>XGH[O1[6"R4+>W:;E/.3S3\>AVU&$[
M@M^G4N$<<_]#P0LJB77,BA29X1BWH4TU+YB^JW1OHR%?^1#_*R4A5!H@NG L
M@MD1 YR54'/G@"XY(!S-Z2G9]UL%=>#BM>/<!--[H_97I_X",VB-)(8:!*D!
M1'D%L(U&&5$E:8<U?[X4<3%:%IMRR:M#BS3YQRJ:?_390!$!.A*N(\2!("!B
MG6WHEB;B_KK"XSH ,&V6Q6TYDY^*?S_CQFPZB=_>K@J2K97[L3K*3ATJ.,RU
MUU)BS*WT1E"G4.2(,<(*(L2572AJ '0-<[R%9>;KX%>'J\>'29Q($>?P5(JK
MPO)QX*F @!;><8P@=E(Z#!#@FW6<D1@^=K=^[)AU%:4^]%@0QD1W)>J"32U7
M! 10NI):X;-N2/3=5:P%!-/&>-V6ZG9<"*Y^!;:IFC-CQ$.FL(=2@?B?,,@9
MKAR'E?*Q*^8%;:>Q+REUQZ>",\!K(9BUT" O'1!6Q_^ELW%T):\L7[P624WK
MXF9;/MEVDIOSE<7CD5R?W0^$2)PA7"G -)088H^(C-0YX[TQ**O:?(^PDB77
M?18XAY'=P>1H?L^^1T(,2*Q@SB*AJ3/*.Q:7+>&P-A8"+COKY=ZP63E3S$=1
M<Q97V\*-G\Z*T?W$I+AA]G@TMV?7QP.SV$;E0@13 )RQ2F*>6.4DUL3 J\?+
MJ0*>UL[3[JS,I\'#L>33_0^%2 SW3L%(J+*":XH)BU0J1+SV7N9L+_<HZ&]V
M43J3F=U"YHS%Z>FQ  V%6&C&$4:8Q3A(8I0H]1B9J(,Y>T4787!.%WDE%)W%
MW;9PM-E33:DAH_D\"BWR_<.L& \FPZ.KUM%G@Q7( FYBF X4-8XB*4"BF6K$
ML<EJ#7DQB#I5_+LWO6MC<GMIAX-%H88/H\DH!9/K1I21-ZOOS/?19' \X[GB
M$-%%X%02"FQ45DJ4LW%M3QS@@D8_,ZO_;H_6NT9AUA"OVT*;&O[O<KY8[<I'
MO^_ GOT1I^JD<0+1EB(-B.8J\MIP:[F)KBFDJVQTD1/\]RA+K$X_JTG^MH6U
M=.O@YDX-IZMK;4>MV*Z/!^&%EL(:)QUQ E"FG=M0YI@A5[;%V)#4I[4SNC5S
MM:4_VMW)<# ;SO_^,8P6.'Z>07844Y6>#]0A[:AFT,4_#,46^17M'!JM!<\I
M9=1#D.6)_[6=:H#!9U]NWMK>CP=N_.SY9/"015M-& )8&RH%,=BN+;6$J2#U
M=>25UK%&U</!MDR(N[LK;A>CG\5VQJFW8\J-F=R.QJ.UK!:^&*ZO80\6RRC7
MQQ<?/F!@:A@]4"9!]#LEED@)E]BF4A0-C#+,,'HE)5VR4?.Z*'?KG.\38C>;
MMB\^84?QP22"T6"<"=ECPP>-(?<&64Z5H9I30WS:;+; 2RMUUI+9HTBR"\S6
MS/JS%],J<]W=2-3]NBWF\_B +B;%W6CQN9C=QKGO6XMK?U'@-GH8#AJ)+2%(
M<R)H7-"<D"8Z)9;(:PPWSP=G+X30VNW+Y<,R]7C^6:PIOIE\25E#DV+H!K-4
M;7/^J5BL-G0.7?0]890@C7<X:E8,TBA& K#H!4<^ .P<$5SD1+"]]2OS+65S
M'&[]X,G]&CR,)BO9Q9^ETK'I$NGJSP^3CZ/!MU7#<1]9^3FE"AZY*I<S;&
M,&V\0 A[X SC3N%-FI+&F.><=_:HBG3=6&R1Y3FA[ZOY1/X6\X6:##\7D\%X
M,=I9XK[RLT%:**2.1EPEEYDR 2@HZ=#.Y"199)5[;C"]MM8%M@$FGPV6)ZA.
M9W]/;HM9LJR1Q,_3^>JVR%ZD''TPL%1.!@'F&(S, ";U?"\I4%#FE(/CUV=A
M&F%J6PO<T7E_BK[C<C;;[?J?,4IPW#BI*1'&2XH0IXC0D@],DIR\"W$JN'X6
MLV_32[)"S3/\;'OT]V2VOJKVGV*X&/SZM@XDYM^G_YX,YJG8QO(VS6PQG6RG
M-MS(*GY\,)\7B[TFJXZQ Y$>&J.8Q$19@Q1TB)5\<#$>SP">O%*KU@'?VS)\
MSTE[BGOG6\YMU_.XMF^7^=O;V?)@89^,40-VS!M&L( 82D*%54IM]539K-*\
MX,J]L_;Y?[:=_',T&3TL'YY<R&>12=J/*>RR^#K]4HS7O_T2!3K[N=_O/W.X
MX)G42$,#O4<0<"J=,UNM)"#KIEU?K]K5:AO;8?SY,!O\JA5FYPT7% +6)?4!
MVA +,"%&E-12#7)V<6'6&</%P*P5QI\-LSB/QV(PFT_C7!;3XFEOY=OCRKY&
M<[O)Z?PKSFMTN_=6XLD#!>.,(,!*#BCB0I.H3WX;9S.7E<!]K2<$37,Y/^OC
MV?9<VGJ;_SV)$GGVPYO%]_CWR6)T9#/LC-&"CZZJHSK&Z?$K,I:EUN*E:88X
M"U%9V_R78JQ:X7M;-]%?GIO=W/T]&2V*X2IU>/XZ(\%,9S^FLU3X;WWF]G6:
M3M<&D\?Y]DQN\YN;V9,S.IO^'*4D]ZN[\\XU<L2@:"R(2RD84DD,F<8<6@LU
MJ%10\JTF$@DJJ#8 P&A=0?(2N0=KWCG N.LL6;;C$AB5(=5 AM%I(NE3AM'Z
MHL-D^#'"9+S]W,%&R3G#!N6QIM98H9$@Q!I-&-EP"B.,<_(O^^KM=PW>FF31
M)]1VG1>GD!+4.4JD2QL_ @+AMYS3NIT.\W*-XDEQ'Z<W_/HVP%RS:/H$ZOA#
M$X4^VGG*<=Y 06'#5(S'G-#4&RXI%WS+#25S"G=7CU?V _6ZL'DVW]]B]B91
MSF I%/',*P,B@\"60PRHG,.V'B4I-0')7@BD3X;3?!],[N,'W"2R<W6L4T,4
MMGO0P"!PQBFCF&?82TA8]/<W7(HZGY-;EY4@U7_8ML[\/D%TM9WU[-YG)CA?
M#Q>(AX@RRI'T3CJ+B3%;S@"*<O+V>I20U34L,]G>+2#--%W@7(XF]S<_BG5)
M@]-AN&N0P#1P2G$J!(LK14IXI:SD@B-9]29.3MA:3!>#\36&035POJU]\=5]
MTVLJL0P H,0!921C@B HL,/K0KB:&E=MQ[496O^Z_5X,E^/BYJY:@!(%4ZEO
M1\:PP4B- .)8"<4$)#$>A[SD%O#=53GJV!Q4!M'K4C3MR:(% _$_@]EL,%D\
MWGP;C^Y?+D*M&XK/LVG*3]Q,:53,GZ16I:='E<>#EHPS+SR!S')C4PEML!:
M]=:+2NDM;5#_>%J-]N,/!^4]LTP*"G0D%#'E&"\IQ]SF;#WUW0S4BXQIPZSO
M1NO7(=[\PV3'[SH^[F[#+D AN/-$H"@G$A<%:SP&V C(@/.*='@ _N?TYZKZ
MT(=)6>OE%>)6Z;"#\9?I>.RGLW_'#QQ@QAFC!>0IQDHJC(A:E9WD7)>\L19<
M69G$>N$R;9O];06UN^==?8G:/!"LD\PSB!GU&%I)K)>PI,X(T^JR% .YT30E
M#,T6[2U.C4+B\%IUG@RZ1=B37GZ8SP_?[:@V0#!<<@'CJJ]-#-AU=,AC6+"A
MGDK6:@^JUNZW]0=]F?+H%HV?!X_']H\//Q@@E=!J0JC4AAO@[2J#<TTM8#*G
M[=ZYJ0MO"7UGRJ$MU)5L49.AVSC<N^DHVPFL[O3=/GZ-OYN/5X#X8S":?)S.
M#T&TQK<$I9F0JV[(GL=X)Z4D^Y*/G*.<<^2^9F1W@>;N1'9I#J:VF$)),>22
M0JJDY7SKW" /<Y;WDQ,;U@ZFF[PI$WNB!+K9_NCXC*25K4^H4O-ZH["([I4"
MC#&TV7O&$"+3AU.35PC:5DTXXZ2DVE"!."4D1PX*[9F1C *UY8HEN+,.:;W9
M%JV*FKW')(T(H@TK$=?-[]$=5C$H&]P7J^RM[BQ$68#M<S%;S:2"5=CW2- :
M*\.93VGEU%I$ -ZTFG?0*5 I::H=*JNH_-YG G9 QSB28J$%5MP+8FU)IXVH
MOF+=SI?]ZRR(FKC<E>*:P?AV.=[<#-SYB8Y/.>I4<$BCP^89DD( [QR6,;9=
MB\18P*NEGS5#Y2O.?UJF2O4W=VL)W"P7\^2D1IKT8#ZZ/4#Z2>-$?I#H?R*+
M/+(Z>IZ.:%'RPS+<ZA6]UK?X\E$R;8_W;467.VFPH_$RW1A^3<A3BN&IB#P^
M8D#:4JB)YACXZ%%Y&CV@#7]<C)AR3M?Z?@.O'636+H-.,7ISMX^>TZWEOI$"
M<E9 #[E#U"JCK30$;A(6 )<ZQUZ>7JBCW0S2MJQE3;SORIVZ(F?).,T @(ZF
M0WU)7&0^63/<4XMIA\Z2BE'Y,.%D]+/XJ[A=SE;5-]ROV_$RLCE5/$X7B9:+
MC5?[&X4/J4G0 9;4,G[0(/K\P&#,,&6(84X */D'*7N3459E3+UN[-2!1+HR
M(1UON=9I0@B(GH.*,36/_T*.8VR]\1^PD,Y5JJ+0]-;J0:_]C/W5$\8+ %,J
MF?+8*VRH5 ;P+7^ K[;U?&TFHC)F]FZL-B>!"B9A\XOT)5UI_>__^G]02P$"
M% ,4    "  (@9Y,<[QJB]1* 0#Z\1< $0              @ $     8V=N
M>"TR,#$X,#0P,2YX;6Q02P$"% ,4    "  (@9Y,CY H3=,0  #8M   $0
M            @ $#2P$ 8V=N>"TR,#$X,#0P,2YX<V102P$"% ,4    "  (
M@9Y,=-C^.H<D  "=@0$ %0              @ $%7 $ 8V=N>"TR,#$X,#0P
M,5]C86PN>&UL4$L! A0#%     @ "(&>3+P.1@?M2   SHX# !4
M     ( !OX ! &-G;G@M,C Q.# T,#%?9&5F+GAM;%!+ 0(4 Q0    (  B!
MGDS>VTE[N<8  )Z0"@ 5              "  =_) 0!C9VYX+3(P,3@P-# Q
M7VQA8BYX;6Q02P$"% ,4    "  (@9Y,W.W@DH=Y   V3 8 %0
M    @ '+D ( 8V=N>"TR,#$X,#0P,5]P<F4N>&UL4$L%!@     &  8 B@$
' (4* P    $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
