CINXE.COM
Dissolved Oxygen Measurement | Dissolved Oxygen Meter, DO Meters, Sensors
<!DOCTYPE html> <html id="htmlTag" xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1"> <!--Copyright Bridgeline Digital, Inc. An unpublished work created in 2009. All rights reserved. This software contains the confidential and trade secret information of Bridgeline Digital, Inc. ("Bridgeline"). Copying, distribution or disclosure without Bridgeline's express written permission is prohibited--> <title>Dissolved Oxygen Measurement | Dissolved Oxygen Meter, DO Meters, Sensors</title> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NGDLP47');</script> <!-- End Google Tag Manager --><!--<style>@import url("https://fast.fonts.net/t/1.css?apiType=css&projectid=765379d0-78ac-4b1c-946f-0f666372d84b");header,nav{display:block}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:transparent}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}img{border:0}button,input{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button{text-transform:none}button{-webkit-appearance:button}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}@font-face{font-family:'fontello';src:url(https://www.ysi.com/style library/Site/webFonts/fontello.eot);src:url(https://www.ysi.com/style library/Site/webFonts/fontello.eot?#iefix) format("embedded-opentype"),url(https://www.ysi.com/style library/Site/webFonts/fontello.woff) format("woff"),url(https://www.ysi.com/style library/Site/webFonts/fontello.ttf) format("truetype"),url(https://www.ysi.com/style library/Site/webFonts/fontello.svg#webfont) format("svg");font-weight:400;font-style:normal}@font-face{font-family:'opensans-regular';src:url(https://www.ysi.com/style library/Site/webFonts/opensans-regular.eot);src:url(https://www.ysi.com/style library/Site/webFonts/opensans-regular.eot?#iefix) format("embedded-opentype"),url(https://www.ysi.com/style library/Site/webFonts/opensans-regular.woff) format("woff"),url(https://www.ysi.com/style library/Site/webFonts/opensans-regular.ttf) format("truetype"),url(https://www.ysi.com/style library/Site/webFonts/opensans-regular.svg#opensans-regular) format("svg")}input[type="text"]{font-size:14px;font-size:1.4rem;font-family:inherit;border:1px solid #959595;padding:.5em;line-height:normal;width:100%;background:#fff;color:#2f2f2f;margin-bottom:1.5em;vertical-align:baseline;outline:none}@media screen and (-webkit-min-device-pixel-ratio:0){input{-webkit-appearance:none}}::-webkit-input-placeholder{color:inherit;opacity:1}:-moz-placeholder{color:inherit;opacity:1}::-moz-placeholder{color:inherit;opacity:1}:-ms-input-placeholder{color:inherit;opacity:1}*{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;background:#fff;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;min-height:100%;-moz-osx-font-smoothing:antialiased;-webkit-font-smoothing:antialiased;font-smoothing:antialiased}body{zoom:1;font-size:15px;font-size:1.5rem;margin:0;padding:0;width:100%;background:#fff;font-family:"opensans-regular",Arial,Helvetica,sans-serif;line-height:1.4;color:#2f2f2f;min-width:21.333em;overflow-x:hidden}body:after{content:"";display:table;clear:both}ul,dl,ul{margin:0 0 1.5em}hr{border:1px solid #e2e2e2;border-style:none none solid;color:#fff;background:transparent;clear:both;margin:1.5em 0}.back-to-top{background:#000;background:rgba(0,0,0,.7);-webkit-box-shadow:0 1px 7px rgba(116,137,153,.25);-moz-box-shadow:0 1px 7px rgba(116,137,153,.25);box-shadow:0 1px 7px rgba(116,137,153,.25);display:none;position:fixed;bottom:1em;right:1em;width:3em;height:3em;z-index:1001;color:#fff;border-radius:50%;text-align:center}.back-to-top:before{content:'\e814';font-family:"fontello";font-size:30px;font-size:3rem;vertical-align:-.1em}a{color:#005cab;text-decoration:none}a.button-link{border:0;outline:0;background:#005cab;color:#fff;border-radius:3px;font-size:14px;font-size:1.4rem;padding:.5em 1em;position:relative;overflow:hidden;display:inline-block;vertical-align:middle;text-align:center;text-decoration:none}a.button-link.primary{background:#e57200;color:#fff}img{border-width:0;max-width:100%;-ms-interpolation-mode:bicubic;vertical-align:middle;display:inline-block}.hiddenTriggerClick{position:relative}.hiddenContent{display:none;position:relative;z-index:3}.top-bar{zoom:1;float:right;position:relative;z-index:2;margin-top:.5em;padding-right:1em}.top-bar:after{content:"";display:table;clear:both}.header-content{padding:1em;margin-bottom:3.133em;position:relative;min-height:4.333em}.utility-toggle{font-size:13px;font-size:1.3rem;float:right;display:block}.utility-toggle:after{font-family:"fontello";font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;opacity:.9;font-variant:normal;text-transform:none;line-height:1em;vertical-align:-.05em;content:'\e820';margin-left:.2em;font-size:100%}.utility-nav{font-size:13px;font-size:1.3rem;zoom:1;background:#005cab;padding:.5em;border-radius:4px;position:absolute;right:1em;top:100%}.utility-nav:after{content:"";display:table;clear:both}.utility-nav ul{margin:0;padding:0;list-style:none}.utility-nav ul li{margin:0}.utility-nav ul li a{display:block;background:#253d8d;padding:.3em;color:#fff}.user-tools{font-size:13px;font-size:1.3rem;display:inline-block;margin:0}.user-tools .user-links{margin-right:1em}.user-tools .user-links ul{list-style:none;padding:0;margin:0}.user-tools .user-links ul li{float:left;margin:0 .5em 0 0}.user-tools .user-links ul li a{color:#008c95}.header-tools{background:#253d8d;position:absolute;left:0;bottom:-3.133em;width:100%;padding:.5em 1em;height:3.133em;overflow:hidden}.header-tools .site-search{-webkit-transform:translateZ(0);display:inline-block;position:relative;background:#fff;text-align:left;width:50%;border-radius:2px}.header-tools .site-search input[type=text]{-webkit-transform:translateZ(0);font-size:14px;font-size:1.4rem;position:relative;background:url(../../Image Library/TemplateImages/blank.gif) transparent;height:1.9em;padding-right:2.5em;margin-bottom:0;font-family:Arial,"Helvetica Neue",sans-serif;border-radius:2px;border-color:transparent}.header-tools .site-search input[type=text]+button[type="submit"]{position:absolute;right:0;top:0;bottom:0;width:30px;background:#e57200;border:none;padding:0;color:#fff;border-radius:0 2px 2px 0}.header-tools .site-search input[type=text]+button[type="submit"]:after{font-family:"fontello";font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;opacity:.9;font-variant:normal;text-transform:none;line-height:1em;vertical-align:-.05em;font-size:20px;font-size:2rem;content:'\1f50d';line-height:1.25;border-radius:0 3px 3px 0;margin:0}.header-tools .header-shopping-cart{white-space:nowrap;display:inline-block;position:absolute;right:1em;padding:.25em 0}.header-tools .header-shopping-cart a{text-decoration:none}.header-tools .cart-info{position:relative;margin:0 0 0 1.5em;line-height:1.2;color:#fff}.header-tools .cart-info:before{font-family:"fontello";font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;opacity:.9;font-variant:normal;text-transform:none;line-height:1em;vertical-align:-.05em;font-size:20px;font-size:2rem;content:'\e82c';position:absolute;top:0;left:-1.3em}.header-tools .cart-count{margin-right:.2em}.header-tools .cart-count:before{content:'('}.header-tools .cart-count:after{content:')'}.header-tools .cart-count span{display:none}.header-tools .cart-summary{display:none;color:#2f2f2f}.header-tools .cart-summary .button-link+.button-link{margin-left:.5em}.main-nav-toggle{background:#253d8d;padding:.5em;display:block;text-align:center;position:absolute;right:1em;bottom:1em;color:#fff!important;text-decoration:none!important}.main-nav-toggle:after{font-size:20px;font-size:2rem;content:'\e828';display:inline-block;font-family:"fontello";line-height:1;margin-left:.4em;vertical-align:-.1em;width:.75em}.main-nav{display:none;background:#253d8d}.main-nav ul{padding:0}.main-nav ul li{position:relative;list-style:none;margin:0;padding:0}.main-nav ul li a{color:#fff;text-decoration:none}.main-nav ul li a{display:block;padding:1.5em .5em;border-top:1px solid #f6f6f6;line-height:1}.main-nav ul li ul{padding-bottom:16px;display:none}.main-nav ul li ul li{position:relative;list-style:none;margin:0;padding:0}@media (min-width:34.667em){.main-nav ul li.is-mega ul{margin-left:1em}}ul{margin:0 0 1.5em 0;padding:0 0 0 2.5em}ul li{margin:.25em 0}ul{list-style-type:disc}dt{float:left;clear:left;width:7em;font-weight:700;padding:0 0 .75em 0}dd{margin:0 0 0 7.2em;padding:0 0 .75em 0}.slider-main-container{background:#2f97c4}.slider-main{overflow-x:hidden}.slider-main img{min-width:100vw;max-width:100vw;display:none}</style>--><link rel="preconnect" href="https://www.googletagmanager.com" crossorigin="anonymous"> <link rel="canonical" href="https://www.ysi.com/parameters/dissolved-oxygen"/><meta name="description" content="What is dissolved oxygen? Understand Dissolved Oxygen definition, how to use a dissolved oxygen meter for testing, sampling, monitoring, sensor methods and factors that affect water quality. How to measure oxygen. Dissolved oxygen in water. Oxygen meter. Oxygen Meters." /> <style> .be-ix-link-block .be-related-link-container{padding-right:1em;padding-left:1em;padding-bottom:2em} .be-ix-link-block .be-related-link-container .be-label{margin:0;color:#fff;font-size:2.4rem;font-family:"AvenirNextLTW01-Medium",Arial,Helvetica,sans-serif;font-weight:400} .be-ix-link-block .be-related-link-container .be-list{display:inline-block;list-style:none;margin:0;padding:0;font-size:2.4rem} .be-ix-link-block .be-related-link-container .be-list .be-list-item{display:inline-block;margin-right:20px;font-size:1.3rem;color:#fff} .be-ix-link-block .be-related-link-container .be-list .be-list-item:last-child{margin-right:0} .be-ix-link-block .be-related-link-container .be-list .be-list-item a:hover{text-decoration:underline} @media (max-width: 767px) { .be-ix-link-block .be-related-link-container .be-label{width:100%;margin-bottom:.5em;padding-bottom:.25em} .be-ix-link-block .be-related-link-container .be-list{display:block;width:100%} .be-ix-link-block .be-related-link-container .be-list .be-list-item{display:block;margin:0 0 .5em} } @media (min-width: 768px) { .be-ix-link-block .be-related-link-container{display:flex} .be-ix-link-block .be-related-link-container .be-label{display:inline-block;margin-right:20px;flex-basis:225px;flex-grow:0;flex-shrink:0} .be-ix-link-block .be-related-link-container .be-list{width:auto} } @media only screen and (min-width: 64em) { .be-ix-link-block .be-related-link-container{padding-right:2em;padding-left:2em} } </style> <script data-cfasync="false" id="marvel" data-customerid="f00000000170758" src="https://marvel-b2-cdn.bc0a.com/marvel.js"></script> <link media="ALL" rel="stylesheet" type="text/css" href="/Style%20Library/Site/responsive.css?v=638736328880000000" /> <!--[if (lt IE 9) & (!IEMobile)]><link media="ALL" rel="stylesheet" type="text/css" href="/Style%20Library/Site/lateIE.css?v=638736328880000000" /><![endif]--> <link media="ALL" rel="stylesheet" type="text/css" href="/Style%20Library/Responsive%20Table/footable.core.css?v=635594431510000000" /> <link media="ALL" rel="stylesheet" type="text/css" href="/Style%20Library/Responsive%20Table/footable.metro.css?v=635594431700000000" /> <link href="https://www.ysi.com/parameters/dissolved-oxygen" rel="canonical" /><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.7/jquery-ui.min.js"></script> <script type="text/javascript" src="/Script%20Library/Site/modernizr.js?v=638736328880000000"></script> <script type="text/javascript" src="/Script%20Library/Site/slider.js?v=638736328880000000"></script> <script type="text/javascript" src="/Script%20Library/Responsive%20Table/New%20Node/footable.js?v=635594434990000000"></script> <script type="text/javascript"> //<![CDATA[ var publicSiteUrl='https://www.ysi.com/'; var editorContext='SiteEditor'; var basePageType='basepage'; var pageState='View'; var jSpinnerUrl='/iapps_images/spinner.gif'; var jRotatingCube='/iapps_images/loading-spinner.gif'; var jWebApiRoutePath='api'; var PageId='6b090f76-1e18-441e-8cfb-7e34c667f616'; var WorkflowId=''; var ReferrerTypeId='8'; var ReferrerUrl='parameters/dissolved-oxygen/dissolved-oxygen'; var siteId = '8039ce09-e7da-47e1-bcec-df96b5e411f4';var swgif = '/Tracking/WebPageEventLogger.axd'; function Forms_OnCallbackError() { abortFormRequest = true;} function Forms_OnCallbackComplete() { FormContainer_OnCallbackComplete(); } //]]> </script> <link rel="stylesheet" href="https://www.ysi.com/Style%20Library/Site/base.css"> <link rel="stylesheet" href="https://www.ysi.com/Style%20Library/Site/responsive.css"> <link rel="preload" href="https://www.ysi.com/Style%20Library/Site/base.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> <noscript><link rel="stylesheet" href="https://www.ysi.com/Style%20Library/Site/base.css"></noscript> <link rel="preload" href="https://www.ysi.com/Style%20Library/Site/responsive.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> <noscript><link rel="stylesheet" href="https://www.ysi.com/Style%20Library/Site/responsive.css"></noscript> <style> .main-slider { opacity: 0; visibility: hidden; transition: opacity 1s ease; -webkit-transition: opacity 1s ease; } .slider-main img { min-width: 100vw !important; max-width: 100vw; } .slide img { height: 600px; width: auto; } .slide:not(:first-of-type) { display: none; } .slider.slick-initialized .slide:not(:first-of-type) { display:block; } </style><script>(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"355013805", enableAutoSpaTracking: true};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");</script><script type="text/javascript" src="https://platform-api.sharethis.com/js/sharethis.js#property=6463db3aa4982d0019d175ed&product=inline-share-buttons&source=platform" async="async"></script><!-- Facebook Pixel Code --> <script> !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1830384550549591'); // Insert your pixel ID here. fbq('track', 'PageView'); </script> <noscript><img height="1" width="1" style="display:none" src="https:_//www.facebook.com/tr?id=1830384550549591&ev=PageView&noscript=1 <https:/_/www.facebook.com/tr?id=1830384550549591&ev=PageView&noscript=1> " /></noscript> <!-- DO NOT MODIFY --> <!-- End Facebook Pixel Code --><!-- Marketo Code --> <script type="text/javascript"> (function() { var didInit = false; function initMunchkin() { if(didInit === false) { didInit = true; Munchkin.init('240-UTB-146'); } } var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//munchkin.marketo.net/munchkin.js'; s.onreadystatechange = function() { if (this.readyState == 'complete' || this.readyState == 'loaded') { initMunchkin(); } }; s.onload = initMunchkin; document.getElementsByTagName('head')[0].appendChild(s); })(); </script> <!-- End Marketo Code --><script type="text/javascript" src="//script.crazyegg.com/pages/scripts/0078/7971.js" async="async"></script><meta name="HandheldFriendly" content="True" /><meta name="MobileOptimized" content="320" /><meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0,maximum-scale=1.0" /><link rel='stylesheet' href='https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap' /></head> <body id="bodyTag"> <ul id="be_sdkms_capsule_open" style="display:none!important"> <li class="be_sdkms_sdk_version">be_ixf; dotnet_sdk; dotnet_sdk_1.4.12</li> <li id="be_sdkms_capsule_connect_timer">31 ms</li> <li id="be_sdkms_capsule_index_time">iy_2025; im_03; id_04; ih_07; imh_23; i_epoch:1741101829767</li> <li id="be_sdkms_capsule_pub">ixf-compiler; ixf-compiler_1.0.0.0</li> <li id="be_sdkms_capsule_date_modified">py_2025; pm_03; pd_03; ph_12; pmh_35; p_epoch:1741034154055</li> </ul> <ul class="be_sdkms_node" style="display:none!important"> <li class="be_sdkms_pub">bec-built-in; bec-built-in_1.0.0; bodystr</li> <li class="be_sdkms_date_modified">pn_tstr:Tue Mar 04 07:23:49 PST 2025; pn_epoch:1741101829767</li> <li class="be_sdkms_timer">0 ms</li> </ul> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NGDLP47" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <script> $(document).ready(function(){ $('img').removeAttr("loading"); }) </script> <form method="post" action="/parameters/dissolved-oxygen" id="form1"> <div class="aspNetHidden"> <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /> <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /> </div> <script type="text/javascript"> //<![CDATA[ var theForm = document.forms['form1']; function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } //]]> </script> <script src="https://ajax.aspnetcdn.com/ajax/4.6/1/WebForms.js" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ window.WebForm_PostBackOptions||document.write('<script type="text/javascript" src="/WebResource.axd?d=oCKj8IvNuIk7gy1HJUatdrxc44YP4nQWME8Wxdd6DGPnke3qspDXbthnORZlPAcXN7_u1xDrkIusxuRK-nyT4HeVlao1&t=638628063619783110"><\/script>');//]]> </script> <script type="text/javascript"> //<![CDATA[ var jTemplateType='0';var loadedFromVersion='False';//]]> </script> <script src="https://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjax.js" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ (window.Sys && Sys._Application && Sys.Observer)||document.write('<script type="text/javascript" src="/ScriptResource.axd?d=C0-jv8mCc3YH01nQBjS-_7iqxAhQwr1PAupAXWe9c-BPPGUzsXZR04BVmo0GfZ6DYf-qRgRxNRrIK4XxIcCtMtvwYi2DvMZh8gSrkeCsXgxJzW1HtAy8NZq70TAxcfFSjb7b6N-fcCXIWvVYDR11RiosX1o1&t=2a9d95e3"><\/script>');//]]> </script> <script src="https://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxWebForms.js" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ (window.Sys && Sys.WebForms)||document.write('<script type="text/javascript" src="/ScriptResource.axd?d=CkWDPtA3hXBHN7AqG5hE3AqHF3VpqsYHc2CORuy9yY-68UdbUfqEq988tjrPIpe-j_OLXO-j30fU7S3eQMTXmXucYiW4XyTEgu6YEG0ouvBlwMiFFZrNJMo6VfqMY2-D_9TN8uAlpOAtlcy_A1FeI5E3pNtBAkyeM0UpNdqXkUDtx89Z0&t=2a9d95e3"><\/script>');//]]> </script> <script type="text/javascript"> //<![CDATA[ Sys.WebForms.PageRequestManager._initialize('scriptManager', 'form1', [], [], [], 90, ''); //]]> </script> <!-- Header Start --> <a href="#top" class="back-to-top" style="display: none;"></a> <a id="top"></a> <header class="main-header" role="banner"> <div class="header-content"> <!-- YSI Logo Start --> <div class="logo-container"> <div id="ctl01_HeaderContent_YSILogo" class="main-logo"> <img id="ctl01_HeaderContent_YSILogo_ctl00" class="main-logo-container" alt="YSI" src="../Image%20Library/Logo/logo.png" /> </div> </div> <script> $(document).ready(function () { YSILogo = '#ctl01_HeaderContent_YSILogo img'; $(YSILogo).css('cursor', 'pointer'); $(YSILogo).click(function () { $(location).attr('href', 'https://www.ysi.com/'); }); }); </script> <!-- YSI Logo End --> <div class="header-tools-content"> <div class="top-bar"> <!-- User options Start --> <div class="user-tools"> <nav class="user-links"> <ul> <li><a id="ctl01_HeaderContent_lnkLogin" href="/my-profile/login">Login</a> </li> <li><a id="ctl01_HeaderContent_lnkRegister" href="/my-profile/register">Register</a></li> </ul> </nav> </div> <!-- User options End --> <!-- Utility Navigation Start --> <?xml version="1.0" encoding="utf-16"?> <a class="utility-toggle hiddenTriggerClick">More</a> <nav class="utility-nav hiddenContent"> <ul> <li> <a href="/contact-us">Contact Us</a> </li> <li> <a href="/about/careers">Careers</a> </li> <li> <a href="https://www.xylem.com/">Xylem Inc.</a> </li> <li> <a href="/ysi-blog">YSI Blog</a> </li> <li> <a href="http://info.xylem.com/Analytics-General-Subscriptions_Analytics-Preference-Center.html">Subscribe</a> </li> <li> <a href="/turbo-cart">Turbo Cart</a> </li> </ul> </nav> <!-- Utility Navigation End --> </div> <a href="javascript:void(0)" class="main-nav-toggle">MENU</a> <div class="header-tools"> <div class="header-tools-inner"> <div class="site-search"> <!-- Search Start --> <input name="ctl01$HeaderContent$txtSearch" type="text" id="ctl01_HeaderContent_txtSearch" class="txtHeaderKeyword" placeholder="Search" autocomplete="off" /> <button ID="btnSearch" type="submit" onclick="return fncSearch();" /> <!-- Search End --> </div> <div class="header-shopping-cart"> <!-- Minicart Start --> <a id="ctl01_HeaderContent_minicart_lnkCart" class="cart-info" href="/my-profile/shoppingcart"> <span class="cart-count"> 0 <span>Item(s)</span> </span> $0.00</a> <div class="cart-summary"> <div class="cart-summary-inner"> <dl> <dt>Sub-total</dt> <dd>$0.00</dd> <dt>Shipping</dt> <dd>$0.00</dd> <dt>Tax</dt> <dd>$0.00</dd> <dt>Total</dt> <dd>$0.00</dd> </dl> <hr> <a id="ctl01_HeaderContent_minicart_lnkViewCart" class="button-link primary" href="javascript:__doPostBack('ctl01$HeaderContent$minicart$lnkViewCart','')">View cart</a> <a id="ctl01_HeaderContent_minicart_lnkCheckOut" class="button-link primary" href="javascript:__doPostBack('ctl01$HeaderContent$minicart$lnkCheckOut','')">Check out</a> </div> </div> <!-- Minicart End --> </div> </div> </div> </div> </div> </header> <!-- Main Navigation Start --> <?xml version="1.0" encoding="utf-16"?> <nav class="main-nav" role="navigation"> <ul> <li class="is-mega"> <a href="/products">Products</a> <ul> <li> <a href="/products/accessories">Accessories</a> </li> <li> <a href="/products/acoustic-doppler-current-profilers-adcps-and-current-meters">Acoustic Doppler Current Profilers ADCPs and Current Meters</a> </li> <li> <a href="/products/aquaculture-process-monitors-and-sensors">Aquaculture Process Monitors and Sensors</a> </li> <li> <a href="/products/auto-samplers">Auto Samplers</a> </li> <li> <a href="/products/automated-chemistry-analyzers">Automated Chemistry Analyzers</a> </li> <li> <a href="/products/biochemistry-analyzers">Biochemistry Analyzers</a> </li> <li> <a href="/products/colorimeters-and-photometers">Colorimeters and Photometers</a> </li> <li> <a href="/products/drinking-water-process-monitors-and-sensors">Drinking Water Process Monitors and Sensors</a> </li> <li> <a href="/products/gas-chromatography-equipment">Gas Chromatography Equipment</a> </li> <li> <a href="/products/gerhardt-lab-instruments">Gerhardt Lab Instruments</a> </li> <li> <a href="/products/laboratory-and-electrochemistry">Laboratory and Electrochemistry</a> </li> <li> <a href="/products/level-gauging-flow-and-data-acquisition">Level Gauging, Flow and Data Acquisition</a> </li> <li> <a href="/products/multiparameter-sondes">Multiparameter Sondes</a> </li> <li> <a href="/products/monitoring-buoys-and-platforms">Monitoring Buoys and Platforms</a> </li> <li> <a href="/products/reagents-membranes-and-cal-solutions">Reagents, Membranes and Calibration Solutions</a> </li> <li> <a href="/products/refractometers">Refractometers and Polarimeters</a> </li> <li> <a href="/products/replacement-parts">Replacement Parts</a> </li> <li> <a href="/products/sampling-handhelds">Sampling Handhelds</a> </li> <li> <a href="/products/survey-vehicles">Survey Vehicles</a> </li> <li> <a href="/products/titration">Titration</a> </li> <li> <a href="/products/total-organic-carbon-analyzers">Total Organic Carbon Analyzers</a> </li> <li> <a href="/products/wastewater-process-monitors-and-sensors">Wastewater Process Monitors and Sensors</a> </li> <li> <a href="/products/weather">Weather</a> </li> </ul> </li> <li class="is-mega"> <a href="/applications">Applications</a> <ul> <li> <a href="/applications/aquaculture">Aquaculture</a> </li> <li> <a href="/applications/bathymetric-surveying">Bathymetric Surveying</a> </li> <li> <a href="/applications/biofuels-renewable-energy">Biofuels & Renewable Energy</a> </li> <li> <a href="/applications/bioprocessing-and-online-monitoring-control">Bioprocessing and Online Monitoring & Control</a> </li> <li> <a href="/applications/cell-culture">Cell Culture</a> </li> <li> <a href="/applications/flooding">Flooding</a> </li> <li> <a href="/applications/food-beverage">Food & Beverage</a> </li> <li> <a href="/applications/general-environmental-lab">General & Environmental Lab</a> </li> <li> <a href="/applications/groundwater">Groundwater</a> </li> <li> <a href="/applications/harmful-algal-blooms-habs">Harmful Algal Blooms - HABs</a> </li> <li> <a href="/applications/irrigation-canals-turnouts">Irrigation Canals & Turnouts</a> </li> <li> <a href="/applications/life-sciences">Life Sciences</a> </li> <li> <a href="/applications/medical-research">Medical Research</a> </li> <li> <a href="/applications/mining-and-petroleum">Mining & Petroleum</a> </li> <li> <a href="/applications/ocean-coastal">Ocean & Coastal</a> </li> <li> <a href="/applications/source-raw-drinking-water">Source, Raw & Drinking Water</a> </li> <li> <a href="/applications/stormwater">Stormwater</a> </li> <li> <a href="/applications/surface-water">Surface Water</a> </li> <li> <a href="/applications/wastewater">Wastewater</a> </li> </ul> </li> <li class="is-mega"> <a href="/parameters">Parameters</a> <ul> <li> <a href="/parameters/ammonia">Ammonia</a> </li> <li> <a href="/parameters/biochemical-oxygen-demand-bod">Biochemical Oxygen Demand - BOD</a> </li> <li> <a href="/parameters/blue-green-algae">Blue Green Algae</a> </li> <li> <a href="/parameters/cdom-fdom">CDOM-fDOM</a> </li> <li> <a href="/parameters/chloride">Chloride</a> </li> <li> <a href="/parameters/chlorophyll">Chlorophyll</a> </li> <li> <a href="/parameters/colorimetry-photometry-parameters">Colorimetry & Photometry Parameters</a> </li> <li> <a href="/parameters/conductivity">Conductivity</a> </li> <li> <a href="/parameters/cyanide">Cyanide</a> </li> <li> <a href="/parameters/depth">Depth</a> </li> <li> <a href="/parameters/dissolved-oxygen">Dissolved Oxygen</a> </li> <li> <a href="/parameters/level">Level</a> </li> <li> <a href="/parameters/life-science-parameters">Life Science Parameters</a> </li> <li> <a href="/parameters/nitrate">Nitrate</a> </li> <li> <a href="/parameters/orp-redox">ORP-Redox</a> </li> <li> <a href="/parameters/ph">pH</a> </li> <li> <a href="/parameters/phosphorus">Phosphorus</a> </li> <li> <a href="/parameters/rhodamine">Rhodamine</a> </li> <li> <a href="/parameters/temperature">Temperature</a> </li> <li> <a href="/parameters/total-organic-carbon-toc">Total Organic Carbon - TOC</a> </li> <li> <a href="/parameters/turbidity">Turbidity</a> </li> </ul> </li> <li class="is-mega"> <a href="/customer-support">Customer Support</a> <ul> <li> <a href="/customer-support/ask-a-question">Ask a Question</a> </li> <li> <a href="/customer-support/events-training-webinars/on-demand">Events, Training & Webinars</a> </li> <li> <a href="/customer-support/find-a-distributor">Find a Distributor</a> </li> <li> <a href="/customer-support/find-a-systems-regional-integration-center">Find a Systems Regional Integration Center</a> </li> <li> <a href="/customer-support/how-to-order">How To Order</a> </li> <li> <a href="/customer-support/warranty-card">Online Warranty Card</a> </li> <li> <a href="/customer-support/product-service">Product Service</a> </li> <li> <a href="/consult">Project Consulting - Environmental</a> </li> <li> <a href="/project-consulting-laboratory">Project Consulting - Laboratory</a> </li> <li> <a href="/municipal-water-consulting">Project Consulting - Municipal</a> </li> <li> <a href="/customer-support/recommended-replacements">Recommended Replacements</a> </li> <li> <a href="/customer-support/recycling-disposal">Recycling & Disposal</a> </li> <li> <a href="/customer-support/repair-parts-schematics">Repair Parts & Schematics</a> </li> <li> <a href="/customer-support/repair-status">Repair Status Checker</a> </li> <li> <a href="/request-a-quote">Request Pricing</a> </li> <li> <a href="/customer-support/resource-library">Resource Library</a> </li> <li> <a href="/customer-support/software-firmware-downloads">Software & Firmware Downloads</a> </li> <li> <a href="http://video.ysi.com/">Videos</a> </li> <li> <a href="/water-monitoring-services">Water Monitoring Services</a> </li> <li> <a href="/customer-support/authorized-service-centers">Authorized Service Centers</a> </li> </ul> </li> <li class="is-mega"> <a href="https://www.ysi.com/">Brands</a> <ul> <li> <a href="https://www.ysi.com/products/refractometers">Bellingham + Stanley</a> </li> <li> <a href="https://www.ysi.com/products/global-water">Global Water Instruments</a> </li> <li> <a href="/oi-analytical">OI Analytical</a> </li> <li> <a href="https://www.ysi.com/sontek">SonTek</a> </li> <li> <a href="https://www.ysi.com/">YSI</a> </li> </ul> </li> <li class="is-mega"> <a href="/about">About</a> <ul> <li> <a href="/ysi-blog">Blog</a> </li> <li> <a href="/about/careers">Careers</a> </li> <li> <a href="/products/global-water">Global Water Instruments</a> </li> <li> <a href="/about/history">History</a> </li> <li> <a href="/integrated-solutions">Integrated Systems & Services</a> </li> <li> <a href="https://www.ysi.com/applications/life-sciences">Life Sciences</a> </li> <li> <a href="/mission-water">Mission: Water Magazine</a> </li> <li> <a href="/whats-new">News</a> </li> <li> <a href="/about/quality">Quality</a> </li> <li> <a href="https://www.ysi.com/sontek">SonTek</a> </li> <li> <a href="https://www.xylem.com/en-us/sustainability">Xylem Sustainability</a> </li> <li> <a href="http://xylemwatermark.com/">Xylem Watermark</a> </li> </ul> </li> </ul> </nav> <script type="text/javascript"> function fncSearch() { var find = ' ' var re = new RegExp(find, 'g'); var txtValueTemp = document.getElementById('ctl01_HeaderContent_txtSearch').value; var url = " /search"; var searchString = encodeURI(txtValueTemp.replace(re, ' AND ')); //window.location = url + '?k=' + searchString; window.location = url + '?k=' + txtValueTemp; return false; //window.location.href = '/search?k=test%20AND%20test2'; } </script> <!-- Main Navigation End --> <!-- Header End --> <!-- Breadcrumb Start --> <div class="page-topImg"> <div class="page-top"> <div id="ctl01_Breadcrumb_clBreadCrumb" class="Breadcrumb"> <?xml version="1.0" encoding="utf-16"?> <ul class="breadCrumbs" xmlns:YSIXsltHelper="YSIXsltHelper"> <li> <a href="/">⌂</a> </li> <li> <a href="/parameters">Parameters</a> </li> </ul> </div> <div class="share-page"> <!-- ShareThis BEGIN --> <div class="sharethis-inline-share-buttons"></div> <!-- ShareThis END --> </div> </div> </div> <!-- Breadcrumb End --> <div class="imgFull--top"> </div> <div class="row" role="main" id="LandingPage"> <div class="column"> <!-- Wrapper Start --> <!-- Row Start --> <div class="row"> <div class="side-rail column med-7"> <div class="row"> <div id="ctl01_PageZoneContainer1"> <div id="ctl01_PageZoneContainer1_PageZoneContainer1_4E02wRwiCBE"> <div id="ctl01_PageZoneContainer1_PageZoneContainer1_4E02wRwiCBE_ctl00"> <div><div style="float: left; padding: 15px; border-bottom: solid #005cab 2px; border-right: solid #005cab 2px; margin: 0 20px 20px 0;"> <h5>Table of Contents</h5> <p>A. <a href="#what-is-dissolved-oxygen">What is Dissolved Oxygen in Water?</a><br> a. <a href="#sources-of-do-in-water">What Are Sources of Dissolved Oxygen in Water?</a><br> i. <a href="#earth-atmosphere">The Earth's Atmosphere</a><br> ii. <a href="#photosynthesis">Photosynthesis</a><br> b. <a href="#environmental-variables">What Environmental Variables Affect Dissolved Oxygen?</a><br> i. <a href="#temperature">Temperature</a><br> ii. <a href="#salinity">Salinity</a><br> iii. <a href="#barometric-pressure">Barometric Pressure</a><br> c. <a href="#units-measure-do">What Units Are Used When Measuring Dissolved Oxygen?</a><br> i. <a href="#compare-do-units">Comparing Dissolved Oxygen Measurement Units</a><br> ii. <a href="#do-supersaturation">What is Dissolved Oxygen Supersaturation?</a><br>B. <a href="#why-measure-do-in-water">Why Measure Dissolved Oxygen in Water?</a><br> a. <a href="#measure-do-surface-water-aquaculture">Why Measure Dissolved Oxygen in Surface Water and Aquaculture ?</a><br> b. <a href="#measure-do-in-groundwater">Why Measure Dissolved Oxygen in Groundwater?</a><br> c. <a href="#measure-do-in-wastewater">Why Measure Dissolved Oxygen in Wastewater?</a><br>C. <a href="#how-to-measure-do-in-water">How to Measure Dissolved Oxygen in Water</a><br> a. <a href="#colorimetric">Colorimetric Method</a><br> b. <a href="#winkler-titration">Winkler Titration</a><br> c. <a href="#electrochemical-sensors">Electrochemical Sensors</a><br> i. <a href="#polarographic">Polarographic</a><br> ii. <a href="#galvanic">Galvanic</a><br> d. <a href="#optical-sensors">Optical Sensors</a><br>D. <a href="#selecting-do-sensor">How to Select the Right Dissolved Oxygen Sensor</a><br>E. <a href="#selecting-do-instrument">How to Select the Right Dissolved Oxygen Instrument</a></p> </div></div> </div> </div><div id="ctl01_PageZoneContainer1_PageZoneContainer1_9eeBC8LNhne"> <div id="ctl01_PageZoneContainer1_PageZoneContainer1_9eeBC8LNhne_ctl00"> <div><p><a href="https://www.ysi.com/do-handbook"><img src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-measurement-guide-ysi-do-handbook.jpg" alt="dissolved oxygen measurement"></a></p></div> </div> </div> </div> <!-- Start quickLinks --> <div class="column sm-12 med-24"> </div> <!-- End quickLinks --> <!-- Start Products List --> <div class="column sm-12 med-24"> <div class="siderail-thumbnails"> <ul> </ul> </div> </div> <!-- End Products List --> </div> </div> <div class="column med-17"> <!-- Page Title Start --> <h1 id="ctl01_h1Tag" style="display:none"> <div id="ctl01_pageTitle" class="PageTitle"> Dissolved Oxygen Measurement in Water with Oxygen Meters </div> </h1> <!-- Page Title End --> <div id="ctl01_PageZoneContainer2"> <div id="ctl01_PageZoneContainer2_PageZoneContainer2_7g49JrVILNR"> <div id="ctl01_PageZoneContainer2_PageZoneContainer2_7g49JrVILNR_ctl00"> <div><p><img style="float: center; margin-bottom: 20px;" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen.jpg" alt="Dissolved Oxygen Measurement in Water"></p></div> </div> </div><div id="ctl01_PageZoneContainer2_PageZoneContainer2_3ECAKhlZ2uV"> <div id="ctl01_PageZoneContainer2_PageZoneContainer2_3ECAKhlZ2uV_ctl00"> <div><h1><a id="what-is-dissolved-oxygen"></a>What is Dissolved Oxygen in Water?</h1> <p>Most aquatic organisms require dissolved oxygen, often abbreviated as DO, to survive, but the source of this oxygen is not the water molecule ( H<sub>2</sub>O ).</p> <p>DO is gaseous, molecular oxygen in the form of O<sub>2</sub> originating from the atmosphere or as a byproduct of photosynthesis. Once dissolved in water, it is available for use by living organisms and can play a significant role in many chemical processes in the aquatic environment. Besides being dissolved in water, this oxygen is no different from the oxygen we breathe.</p> <figure style="display: table; margin-left: auto; margin-right: auto;"><img style="display: block; margin-left: auto; margin-right: auto;" alt="dissolved oxygen" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-measurement-molecular-oxygen.jpg" data-amp-height="400" data-amp-width="600"><br> <figcaption style="display: block; margin-left: auto; margin-right: auto;">Figure 1: Molecular oxygen (circled) dissolved in water. Molecular oxygen does not originate from the oxygen in a water molecule ( H<sub>2</sub>O ).</figcaption> </figure></div> </div> </div><div id="ctl01_PageZoneContainer2_PageZoneContainer2_7zSxI7VPX98"> <div id="ctl01_PageZoneContainer2_PageZoneContainer2_7zSxI7VPX98_ctl00"> <div><h3><a id="sources-of-do-in-water"></a>What Are Sources of <a id="earth-atmosphere"></a>Dissolved Oxygen in Water?</h3> <h4>The Earth's Atmosphere</h4> <p>Molecular oxygen can enter a water body from the planet's atmosphere in several ways. Suppose water has a lower oxygen concentration than the atmosphere above it. In that case, molecular oxygen will naturally diffuse from the air into the water until it is completely saturated with oxygen. Equilibrium conditions are met when the concentration of oxygen is the same in air and water.</p> <p>Aeration of water occurs when water and air mix, resulting in increased levels of DO in water. This happens naturally at waterfalls and rapids or when windy conditions cause turbulence on a water body's surface.</p> <figure><img alt="dissolved oxygen saturation" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-saturation-of-water.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 2: Waterfalls can increase the oxygen saturation of water.</figcaption> </figure> <p>Aquatic organisms need DO to survive, so that's why some water bodies have artificial aeration. Examples include a paddle wheel or a fountain in the middle of a pond, the use of an air stone in an aquarium, and pumping air into aeration basins at wastewater treatment plants to sustain microbes that break down contaminants.</p> <p>Aerating water can be a considerable expense for wastewater facilities, but more municipalities are using DO sensors to optimize aeration, thus reducing their energy costs. Check out our white paper on <a href="https://info.xylem.com/Activated-Sludge-White-Paper.html" target="_blank">How to Control Activated Sludge with Online Sensors</a> to learn more.</p> <figure><img alt="nitrate water" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/water-aeration-dissolved-oxygen.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption><a id="photosynthesis"></a>Figure 3: Aeration is a critical step in the treatment process at many wastewater facilities, as microbes in the wastewater rely on it to break down contaminants.</figcaption> </figure> <h4>Photosynthesis</h4> <p>Another major source of DO is photosynthesis. Aquatic plants and algae use photosynthesis to generate new cells and repair damaged cells. This process requires water, light energy, and carbon dioxide. A byproduct of photosynthesis is gaseous, molecular oxygen that can become dissolved in water. Not all plants are created equal, as some of them produce more oxygen than others.</p> <figure><img alt="Dissolved Oxygen in Water" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-photosynthesis-in-water.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 4: Dissolved oxygen can originate from photosynthesis – this requires water, light, and carbon dioxide – or from the atmosphere.</figcaption> </figure> <p>Plants and algae produce oxygen during the day when photosynthesis occurs. They also consume it for respiration, which is the process by which plants convert glucose (i.e., the sugar produced during photosynthesis) and oxygen into usable cellular energy.<sup>1</sup> Plants and algae produce far more oxygen during the day than they consume. At night, plants and algae no longer produce oxygen, but they continue to consume it. Meanwhile, other organisms like fish consume oxygen at a steady rate around the clock.</p> <p>So, in a healthy system, oxygen concentrations rise throughout the day and decline at night when respiratory activity consumes that oxygen.</p> <figure><img alt="Dissolved Oxygen Concentration Increase" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/oxygen-concentration-in-water.jpg" data-amp-height="450" data-amp-width="600"><br> <figcaption>Figure 5: Oxygen concentration increase throughout the day in a typical water body as plants and algae produce oxygen as a byproduct of photosynthesis.</figcaption> </figure> <figure><img alt="oxygen concentration decrease" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/oxygen-concentration-decrease-dissolved-oxygen.jpg" data-amp-height="450" data-amp-width="600"><br> <figcaption><a id="environmental-variables"></a>Figure 6: Oxygen concentration decrease throughout the night as plants, algae, and organisms such as fish consume oxygen for respiration. Due to the absence of sunlight, no photosynthesis occurs.</figcaption> </figure></div> </div> </div><div id="ctl01_PageZoneContainer2_PageZoneContainer2_2WhtEcU14dG"> <div id="ctl01_PageZoneContainer2_PageZoneContainer2_2WhtEcU14dG_ctl00"> <div><h3>What Environmental Variables Affect Dissolved Oxygen?</h3> <p><a id="temperature"></a>Dissolved oxygen concentrations in water are affected by temperature, barometric pressure, and salinity.</p> <h4>Temperature</h4> <p>The most significant variable is temperature, so it is essential to measure it in conjunction with dissolved oxygen.</p> <p>The solubility of oxygen in water is inversely related to temperature – as temperature increases, DO decreases. Therefore, a water body in winter will have a higher DO concentration than in summer, assuming other variables are held constant. The same applies to nighttime – as a water body cools overnight, more oxygen can be dissolved. However, it is important to keep in mind the impact photosynthesis and respiration have on DO concentrations during the day and night – see Figure 5 and 6.</p> <figure><img alt="Oxygen in Water Related to Temperature" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/solubility-of-oxygen-in-water-inversely-related-to-temperature.jpg" data-amp-height="250" data-amp-width="600"><br> <figcaption><a id="salinity"></a>Figure 7: Temperature should always be measured when collecting dissolved oxygen data. As temperature increases, the solubility of oxygen in water decreases.</figcaption> </figure> <h4>Salinity</h4> <p>Like temperature, the solubility of oxygen in water is inversely related to salinity – as salinity increases, DO decreases.</p> <figure><img alt="oxygen in water related to salinity" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/oxygen-in-water-related-to-salinity.jpg" data-amp-height="250" data-amp-width="600"><br> <figcaption>Figure 8: Salinity should be accounted for when taking DO measurements, as saline water can hold less oxygen than freshwater.</figcaption> </figure> <p>For instance, seawater can hold about 20% less oxygen under the same temperature and atmospheric pressure as freshwater. Therefore, it is critical to measure salinity – this is done with a conductivity sensor – when collecting DO data in estuaries, wetlands, coastal areas, aquaculture, or any other application where salinity can vary. See the <a href="#compare-do-units">Comparing Dissolved Oxygen Measurement Units</a> section for more information on the impact of salinity on DO.</p> <p>Most modern DO instruments, such as the <a href="https://www.ysi.com/prodss">YSI ProDSS</a>, will provide real-time salinity-compensated DO measurements if a conductivity and DO sensor are connected. Otherwise, salinity will have to be entered into the meter for this compensation to occur.</p> <figure><img alt="dissolved oxygen measurement in saline water" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-measurement-in-saline-water.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption><a id="barometric-pressure"></a>Figure 9: When measuring dissolved oxygen in saline water, YSI strongly recommends using an instrument with DO and conductivity sensors. This setup will allow for real-time salinity compensation.</figcaption> </figure> <h4>Barometric Pressure</h4> <p>Unlike temperature and salinity, there is a direct relationship between barometric pressure and DO levels in water – as pressure decreases, DO decreases.</p> <figure><img alt="dissolved oxygen barometric pressure in water" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-and-barometric-pressure-in-water.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 10: Barometric pressure is another variable that impacts DO readings. At higher elevations, there's less pressure to push oxygen from the atmosphere into water.</figcaption> </figure> <p>At lower elevations, the barometric pressure is high, so there is more pressure to push gaseous oxygen from the atmosphere into water. But at higher elevations, the barometric pressure is much, much lower.</p> <figure><img alt="oxygen in water low elevation" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/oxygen-in-water-barometric-pressure-at-low-elevations.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 11: The lowest point in the United States is Badwater Basin in Death Valley National Park. Because there's so much atmosphere above Badwater Basin, there is a lot of pressure pushing oxygen into the water.</figcaption> </figure> <figure><img alt="barometric pressure change dissolved oxygen testing" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/barometric-pressure-change-dissolved-oxygen-testing-water.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 12: Mt. Whitney, located just 80 miles from Badwater Basin, is the tallest mountain in the contiguous United States. At high elevations such as these, water (if not frozen!) will have relatively little DO because there's not much atmosphere above a water body pushing oxygen into it.</figcaption> </figure> <p>In addition to altitude, barometric pressure can change due to a change in weather. A quick pressure drop can indicate a storm is on the way. Most modern DO instruments have a built-in barometric pressure sensor that will automatically compensate DO readings for barometric pressure changes.</p> <p><a id="units-measure-do"></a>See the <a href="#compare-do-units">Comparing Dissolved Oxygen Measurement Units</a> section to see the impact of barometric pressure on DO readings.</p></div> </div> </div><div id="ctl01_PageZoneContainer2_PageZoneContainer2_EuYCAi0qH6"> <div id="ctl01_PageZoneContainer2_PageZoneContainer2_EuYCAi0qH6_ctl00"> <div><h3>What Units are Used When Measuring Dissolved Oxygen?</h3> <p>DO is expressed in many different units, but most often in mg/L or % saturation (DO%). The unit mg/L is straightforward, as it is the milligrams of gaseous oxygen dissolved in a liter of water.</p> <p>The best place to start when explaining % saturation is with the atmosphere – approximately 21% of the earth's atmosphere is oxygen. Another consideration is the barometric pressure at sea level, which is equal to 760 millimeters of mercury. The part of the overall pressure caused by oxygen – termed partial pressure – is equal to 160 mmHg (21% * 760 mmHg = 160 mmHg).</p> <figure><img alt="dissolved oxygen saturation in water" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-water-saturation-atmosphere.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 13: Approximately 21% of the earth's atmosphere is oxygen, making it the second-most abundant gas behind nitrogen (78%).</figcaption> </figure> <p>If a DO sensor is calibrated at sea level, it should calibrate to a percent saturation of 100%, assuming the water and air are in equilibrium. But what if the barometric pressure is less than 760 mmHg? What will the sensor calibrate to?</p> <p>Let's say the barometric pressure determined by a meter is 750 mmHg. To determine what the sensor will calibrate to, divide 750 mmHg by 760 mmHg; this equals 98.68% (750 mmHg / 760 mmHg = 98.68%). At this pressure, saturation cannot be greater than 98.68% as long as water and air are in equilibrium. Therefore, the sensor will calibrate to 98.68%.</p> <p>Some may wish to report <em>Local DO</em> where the calibration value is 100% regardless of the barometric pressure at the time of calibration. The 100% calibration value reflects that the calibration environment is at 100% oxygen pressure for that specific location. Several YSI instruments are capable of reporting Local <a id="compare-do-units"></a>DO.</p> <h4>Comparing Dissolved Oxygen Measurement Units</h4> <p>You can think of dissolved oxygen percent (DO%) as the unit being determined directly by any instrument that uses an <a href="#electrochemical-sensors">Electrochemical Sensor</a> or <a href="#optical-sensors">Optical Sensor</a>. The only variable that impacts DO% is barometric pressure, as can be seen in Table 1 below.</p> <figure> <figcaption>Table 1: DO% values at varying barometric pressures.</figcaption> <img alt="dissolved oxygen values" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-values-at-varying-barometric-pressure.jpg" data-amp-height="250" data-amp-width="600"></figure> <p>In contrast, DO mg/L is calculated by the instrument from DO%, temperature, and salinity. Table 2 below demonstrates the impact of varying temperatures and salinities.</p> <figure> <figcaption><a id="do-supersaturation"></a>Table 2: DO mg/L values at varying temperatures and salinities.</figcaption> <img alt="dissolved oxygen values temperature salinity" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-values-at-varying-temperature-salinity.jpg" data-amp-height="250" data-amp-width="600"></figure> <h4>What is Dissolved Oxygen Supersaturation?</h4> <p>Dissolved oxygen percent values in the natural environment can reach over 100%, but how is this possible?</p> <p>Photosynthesis can be a significant driver of supersaturation, as this process produces pure oxygen. Sometimes it can even account for DO% values up to 500%!</p> <figure><img alt="dissolved oxygen testing saturation" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-testing-saturation.jpg" data-amp-height="250" data-amp-width="600"> <figcaption>Figure 14:Photosynthesis produces pure oxygen. If there's enough photosynthetic activity in a water body, DO% values can reach well over 100%.</figcaption> </figure> <p>Another cause is rapid temperature changes. While the equilibration of water with the air above it is seldom rapid, the temperature of a water body can change rapidly. So, let's say the temperature of a stagnant lake quickly increases by 5 degrees once the sun starts shining. DO levels in water should decrease as temperature increases. However, if the equilibration between air and water is not as rapid as the temperature change, the lake will technically be supersaturated with DO until an equilibrium state is once again established.</p> <p>Another cause of supersaturation is turbulent conditions or anything else that can cause mixing of the air and water (e.g., air stones, whitewater rapids).</p> <p><a id="why-measure-do-in-water"></a>To learn more about supersaturation, check out our technical note on <a href="https://www.ysi.com/file%20library/documents/technical%20notes/t602-environmental-dissolved-oxygen-values-above-100-percent-air-saturation.pdf" title="Environmental Dissolved Oxygen Values Above 100 Percent Air Saturation">Environmental Dissolved Oxygen: Values Greater Than 100% Air Saturation</a>.</p></div> </div> </div><div id="ctl01_PageZoneContainer2_PageZoneContainer2_6SAXa9UUmM"> <div id="ctl01_PageZoneContainer2_PageZoneContainer2_6SAXa9UUmM_ctl00"> <div><h2>Why Measure Dissolved Oxygen?</h2> <p>DO is one of the most commonly measured water quality parameters, but the reason for measuring it varies based on the <a id="measure-do-surface-water-aquaculture"></a>environment.</p> <h3>Why Measure Dissolved Oxygen in Surface Water and Aquaculture?</h3> <p>Dissolved oxygen is a direct indicator of a water body's ability to support aquatic life – aquatic organisms need DO to survive!</p> <figure><img alt="Dissolved Oxygen Levels in Water" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-levels-in-water-for-life.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 15: Fish require sufficient levels of dissolved oxygen to survive. Many species cannot survive if concentrations drop below 4 mg/L.</figcaption> </figure> <p>The level of DO required varies by species. In general, most fish species will grow and thrive within a range of 5-12 mg/L. However, if levels drop below 4 mg/L, they may stop feeding and become stressed, possibly leading to large fish kills. Hypoxia occurs when the concentration of dissolved oxygen decreases to a level that can no longer support living aquatic organisms.</p> <p>Check out our blog post on <a href="https://www.ysi.com/ysi-blog/water-blogged-blog/2013/04/pond-based-aquaculture-dissolved-oxygen-management-and-related-costs">Dissolved Oxygen Management and Related Costs in Pond Aquaculture</a> to learn more about the importance of measuring DO in fish farming and other forms of aquaculture. We also created a <a href="https://www.ysi.com/file%20library/documents/infographics/hypoxia-infographic-0316.pdf" title="Hypoxia Understanding the Silent Killer">Hypoxia Infographic</a> that helps explain how hypoxia occurs in the environment.</p> <p>An imbalance of DO occurs when there is a <strong><a href="https://www.ysi.com/applications/harmful-algal-blooms-habs">harmful algal bloom (HAB)</a></strong>. During the early and peak growth phases of a HAB, DO can increase significantly in the vicinity of the bloom due to photosynthetic activity during the day. More oxygen is generated than can be consumed by either the algae or the other organisms, day or night – this can lead to supersaturation.</p> <figure><img alt="oxygen in water harmful algae bloom" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/harmful-algae-bloom-oxygen-in-water.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 16: Harmful algae blooms (HABs) are often fed by nutrient runoff. Bacteria and other organisms consume the algae once the bloom dies, but this requires oxygen. DO levels can drop so low once the bloom dies that large fish kills can result..</figcaption> </figure> <p>As the bloom fades and dies, the algae become food for bacteria and other things that consume oxygen. This can cause DO levels to drop drastically, resulting in hypoxia. Check out our blog post, <a href="https://www.ysi.com/ysi-blog/water-blogged-blog/2016/09/harmful-algal-blooms-everything-you-need-to-know">HABs | Everything You Need to Know</a>, to learn more!</p> <p>Large fish kills can also result from <strong>thermal pollution</strong> around power plants and industrial manufacturers. While the effluent from these plants is typically clean, it is often much, much warmer than the surface water it enters. As temperature increases, the level of DO in the water decreases. Therefore, a sudden influx of warm water can result in large fish kills.</p> <figure><img alt="dissolved oxygen measurement water temperature" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-measurement-water-temperature.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 17: When hot water is released into a surface water body, dissolved oxygen levels drop. If the DO concentration decreases too much, fish kills can result. This is a big concern around power plants and industrial facilities.</figcaption> </figure> <p>Thermal pollution and HABs aren't the only events that endanger aquatic organisms. <strong>Road salt</strong> is commonly applied to icy roads in winter. This salt runs off the road and into surface water bodies, increasing salinity. As salinity increases, DO levels decrease. So, even though oxygen is more soluble in cold water, high salinity can result in large fish kills in winter due to suffocation.</p> <figure><img alt="dissolved oxygen measurement salinity" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-decrease-from-salinity-fish-kill.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption><a id="measure-do-in-groundwater"></a>Figure 18: Road salt dissolved in a surface water body can wreak havoc on aquatic organisms, as the salt causes dissolved oxygen concentrations to decrease.</figcaption> </figure> <h3>Why Measure Dissolved Oxygen in Groundwater?</h3> <p>Many assume DO is absent below the water table, but this is an incorrect assumption. Before water percolates downward from the surface, water is in contact with the atmosphere, and oxygen becomes dissolved. DO can exist at great depths in an aquifer as long as there is little or no oxidizable material.<sup>2</sup></p> <p>Dissolved oxygen can be a helpful parameter to measure when conducting groundwater investigations. DO can help determine when stable conditions have been reached during purging and can be used to evaluate well construction.</p> <p>Measuring DO can also help ensure proper groundwater sampling procedures are being followed when collecting samples for the analysis of metal and volatile organic compounds. Any artificial aeration can impact laboratory analyses for these compounds.<sup>3</sup></p> <p>DO plays a significant role in chemical reactions that occur in the subsurface. It regulates the valence state of trace metals and constrains the metabolism of dissolved organic compounds (e.g., oil) by microbes.<sup>4</sup></p> <p>Microbes can degrade oil that has leaked into an aquifer. Like other organisms, microbes need to respire (i.e., breathe). Respiration requires an electron acceptor, and since oxygen is the most preferred one, DO is quickly depleted where there is contamination present. Therefore, DO can only be found outside a plume of contaminated groundwater.<sup>5</sup></p> <figure><img alt="dissolved oxygen groundwater measurement" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-groundwater-measurement.jpg" data-amp-height="450" data-amp-width="600"><br> <figcaption>Figure 19: Dissolved oxygen is the preferred electron acceptor used by microbes during biodegradation of organic contamination in the subsurface. Once it is depleted, other electron acceptors are used by anaerobic microbes.<sup>5</sup></figcaption> </figure> <p>Other electron acceptors are used once dissolved oxygen has been depleted. After oxygen, nitrate will be used up, so nitrate can only be found relatively far away from the plume, just like DO. The electron acceptor used last is carbon dioxide (CO<sub>2</sub>). The process of using CO<sub>2</sub> is called methanogenesis; this will be occurring closest to the source of contamination.<sup>5</sup></p> <p>Other environments can become anoxic due to microbial activity, such as the open water contaminated by the Deepwater Horizon oil spill in <a id="measure-do-in-wastewater"></a>2010.</p> <h3>Why Measure Dissolved Oxygen in Wastewater?</h3> <p>Microbes consume waste and transform it into harmless end products in the treatment process at wastewater treatment plants. DO plays a critical role in this process, as these microbes rely on it to break down wastewater contaminants, such as organics or ammonia. In the activated sludge process (ASP) – the most common plant configuration – air is pumped into aeration tanks filled with microbes suspended in water.</p> <p>Our blog post <a href="https://www.ysi.com/ysi-blog/water-blogged-blog/2017/09/wastewater-or-water-resource-recovery-getting-the-waste-out-of-wastewater">Wastewater or Water Resource Recovery? | Getting the Waste Out of Wastewater</a> discusses aeration technology in more detail.</p> <figure><img alt="dissolved oxygen in wastewater" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-in-wastewater-aeration.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 20: Air is pumped into aeration tanks to promote the degradation of wastewater contaminants by microbes.</figcaption> </figure> <p>Effluent, which is the treated water leaving the plant, must contain a limited amount of nutrients to ensure eutrophication does not occur in the environment. Biological nutrient removal (BNR) processes can be used to ensure compliance with nutrient effluent limits, but these processes require controlled conditions within the treatment plant.</p> <p>BNR is characterized by the presence of unaerated anaerobic and anoxic zones upstream and downstream of aeration zones. Mixed liquor recycle and sludge return streams are arranged to make the best use of the organic content in the activated sludge system.</p> <p>Check out our webinar on the <a href="https://video.ysi.com/ysi-webinar-biological-nutrient-1">Biological Nutrient Removal of Nitrogen</a> to learn more about this treatment <a id="how-to-measure-do-in-water"></a>strategy.</p></div> </div> </div><div id="ctl01_PageZoneContainer2_PageZoneContainer2_5KVpWVo9lEO"> <div id="ctl01_PageZoneContainer2_PageZoneContainer2_5KVpWVo9lEO_ctl00"> <div><h2><a id="colorimetric"></a>How to Measure Dissolved Oxygen in Water</h2> <p>How is dissolved oxygen measured? There are a few different methods to measure dissolved oxygen in water and the following section provides an overview. </p> <h3>Colorimetric Method</h3> <p>Colorimeters, also known as filter photometers, are instruments that measure color intensity. When using these instruments, chemical reagents are mixed with the sample. If the target parameter is present, the solution will have a color, and its intensity will be proportional to the concentration of the parameter being tested.</p> <p>Light is passed through a test tube containing the sample solution and then through a colored filter onto a photodetector. Filters are chosen so that light of a specific wavelength is selected. When the solution is colorless, all of the light passes through. With colored samples, light is absorbed, and that which passes through the sample is proportionately reduced.</p> <p>There are two different colorimetric methods of determining DO – Indigo Carmine and Rhodazine D. Indigo carmine reacts with DO to form a blue complex. In contrast, Rhodazine D reacts with DO to form a bright pink complex.</p> <figure><img alt="dissolved oxygen measurement" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-measurement-colorimetric-method.jpg" data-amp-height="250" data-amp-width="600"><br> <figcaption><a id="winkler-titration"></a>Figure 21: Depending on the colorimetric method used, dissolved oxygen can result in the formation of a blue or bright pink complex.</figcaption> </figure> <h3>Winkler Titration</h3> <p>Reagents are also used when determining DO concentrations via a Winkler titration. In this method, reagents form an acid compound that's titrated with a neutralizing compound. Also, like the colorimetric method, a color change results, and the DO concentration is determined by observing the point at which this color change occurs.<sup>6</sup></p> <p>Many standard operating procedures (SOPs) still call for a Winkler titration, especially at wastewater treatment labs that are determining biological oxygen demand (BOD). Winklers need to be done in triplicate, with the results being averaged.</p> <figure><img alt="dissolved oxygen measurement" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-measurement-winkler-titration-method.jpg" data-amp-height="250" data-amp-width="600"><br> <figcaption><a id="electrochemical-sensors"></a>Figure 22: Winkler titrations require a series of reagents to be added to a solution to determine a DO concentration.</figcaption> </figure> <h3>Electrochemical Sensors</h3> <p>Unlike the measurement of DO by performing a Winkler titration or using a colorimeter, electrochemical sensors, also known as membrane-covered DO sensors, don't require reagents. These sensors provide fast measurements and have a wide range, but water must continuously move across the membrane as oxygen is consumed during the measurement.</p> <p>There are two types of electrochemical sensors – polarographic and galvanic. In 1956, Dr. Leland Clark invented the polarographic electrode while working with YSI Scientists. The galvanic electrode was developed later on, but it measures DO the same way as the polarographic sensor. Either sensor type can be used with YSI instruments such as the <a href="https://www.ysi.com/proquatro">ProQuatro</a> and <a href="https://www.ysi.com/pro20">Pro20</a>.</p> <p>Electrochemical DO sensors consist of an anode and a cathode confined in electrolyte solution by an oxygen-permeable membrane. Oxygen molecules dissolved in the sample diffuse through the membrane before being reduced (i.e., consumed) at the cathode. This reaction produces an electrical signal that travels from the cathode to the anode, ultimately reaching the instrument/meter.</p> <figure><img alt="dissolved oxygen sensor electrochemical" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-sensor-diagram-electrochemical.jpg" data-amp-height="250" data-amp-width="600"><br> <figcaption>Figure 23: With electrochemical sensors, dissolved oxygen diffuses across a membrane before being reduced at the cathode. This produces a signal that's picked up by the meter.</figcaption> </figure> <p>The amount of oxygen diffusing through the membrane is proportional to the partial pressure and concentration of oxygen outside the membrane. As the oxygen concentration varies, so does the oxygen diffusing through the membrane, and this causes the probe current to change <a id="polarographic"></a>proportionally.</p> <h4>Polarographic</h4> <p>Polarographic sensors have a silver anode and a gold cathode. These materials require the probe to warm up, or polarize, before use – this takes about 10 minutes. Polarographic sensors have a longer lifespan than galvanic sensors because it is not always on (i.e., not always polarized).</p> <figure><img alt="polarographic sensor dissolved oxygen meter" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/polarographic-sensor-dissolved-oxygen-meter.jpg" data-amp-height="250" data-amp-width="600"><br> <figcaption><a id="galvanic"></a>Figure 24: Polarographic sensors have a silver anode and a gold cathode. These materials require the instrument to be turned on for about 10 minutes before measurements can be collected.</figcaption> </figure> <h4>Galvanic</h4> <p>Galvanic sensors have a zinc anode and a silver cathode. These materials allow the sensor to be continuously polarized even when the meter is off, so no warm-up period is required. There is a drawback to always being on – these sensors have a shorter life than polarographic sensors.</p> <figure><img alt="galvanic sensor dissolved oxygen meter" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/galvanic-sensor-dissolved-oxygen-meter.jpg" data-amp-height="250" data-amp-width="600"><br> <figcaption><a id="optical-sensors"></a>Figure 25: Galvanic sensors have a zinc anode and a silver cathode. These sensors have a shorter life because they're always polarized, similar to a car battery.</figcaption> </figure> <h4>Optical Sensors</h4> <p>Optical and electrochemical sensors have some similarities. For starters, these sensors measure the pressure of oxygen dissolved in the sample. 'Raw' readings are expressed as DO%, and the only variable that affects DO% is barometric pressure. The higher the barometric pressure, the more oxygen will be pushed into the water. It is important to note that DO mg/L is <em>calculated</em> from DO%, temperature, and salinity.</p> <p>Like electrochemical sensors, no reagents are required when using optical sensors. Both sensor types are also placed directly in the sample when taking a measurement.</p> <p>There are several key structures of an optical DO sensor. The sensor cap of an optical DO sensor contains a diffusion layer across which DO is constantly moving. Unlike electrochemical sensors, oxygen is not consumed during the measurement, so water does not need to flow continuously across the sensor cap.</p> <figure><img alt="dissolved oxygen optical sensor" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/optical-sensor-diagram-dissolved-oxygen-measurement.jpg" data-amp-height="500" data-amp-width="600"><br> <figcaption>Figure 26: The anatomy of a typical YSI optical dissolved oxygen sensor. Most modern platforms – the <a href="https://www.ysi.com/prodss">ProDSS</a> and <a href="https://www.ysi.com/exo">EXO</a> included – feature an optical sensor.</figcaption> </figure> <p>There are also different LEDs, one of which (the blue light in most of our YSI sensors) causes another layer of the sensor cap – the dye layer – to luminesce (i.e., glow).</p> <figure><img alt="dissolved oxygen measurement optical sensor" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-measurement-optical-sensor.jpg" data-amp-height="250" data-amp-width="600"><br> <figcaption>Figure 27: Most of our optical sensors feature a blue LED. This light causes the dye layer of the sensor cap to glow (i.e., luminescence). The more oxygen in the solution, the shorter the lifetime of the luminescence.</figcaption> </figure> <p>As oxygen moves across the diffusion layer, it affects the luminescence of the dye layer. The amount of oxygen passing through the sensing layer is inversely proportional to the lifetime of the luminescence in the sensing layer. The lifetime of the luminescence is measured by the sensor and compared against the reference (the red light in our example), allowing for DO to be <a id="selecting-do-sensor"></a>determined.</p></div> </div> </div><div id="ctl01_PageZoneContainer2_PageZoneContainer2_1DVsGBZNeU0"> <div id="ctl01_PageZoneContainer2_PageZoneContainer2_1DVsGBZNeU0_ctl00"> <div><h2><a id="what-is-dissolved-oxygen-in-water"></a>How to Select the Right Dissolved Oxygen Sensor</h2> <p>There are several options for measuring dissolved oxygen in water, and it can be challenging for those new to measuring DO to select the right method for them.</p> <p>Colorimeters are not typically used when the only parameter being measured is dissolved oxygen, as they are not convenient – it takes time to mix the reagent and solution! Additionally, there are some pretty tight limitations on the measurement range.</p> <p>Winkler titrations are time-consuming and challenging to perform. Suppose you have to perform a Winkler titration because your standard operating procedure (SOP) follows ISO 5813 or ASTM D888. In that case, we recommend using an automated titrator – check out some <a href="https://www.ysi.com/products/titration">titration options from YSI</a> – rather than doing the titrations by hand. For customers who require measuring DO in situ or have a high throughput of samples, we recommend using an electrochemical or optical sensor for DO measurement if you have a choice of method.</p> <p>Electrochemical and optical sensors are by far the most commonly used tools when measuring DO. Unlike other water quality sensors (e.g., <a href="https://www.ysi.com/parameters/nitrate">nitrate</a>) that are often designed for a specific application, DO sensors can be used in a wide variety of applications – surface water, aquaculture, groundwater, wastewater, and more!</p> <p>So which DO sensor is right for you? Table 3 has some considerations.</p> <figure> <figcaption><strong>Table 3:</strong> Comparison of polarographic, galvanic and optical DO sensors.</figcaption> </figure> <div> <table class="footable one metro-blue"> <thead> <tr> <th data-toggle="True"><strong>Specification</strong></th> <th data-hide="phone,tablet"><strong>Polarographic (e-chem)<br></strong></th> <th data-hide="phone,tablet"><strong>Galvanic (e-chem)</strong></th> <th data-hide="phone,tablet"><strong>Optical<br></strong></th> </tr> </thead> <tbody> <tr> <td>Most accurate in 0 to 200%DO range</td> <td></td> <td></td> <td>X</td> </tr> <tr> <td>Fastest response time</td> <td>X</td> <td>X</td> <td></td> </tr> <tr> <td>No sensor warm-up time required</td> <td></td> <td>X</td> <td>X</td> </tr> <tr> <td>Low Maintenance</td> <td></td> <td></td> <td>X</td> </tr> <tr> <td>Most stable – less frequent calibration needed</td> <td></td> <td></td> <td>X</td> </tr> <tr> <td>Long probe life (1+ years)</td> <td></td> <td></td> <td>X</td> </tr> <tr> <td>Not dependent on flow across the sensor surface</td> <td></td> <td></td> <td>X</td> </tr> <tr> <td>Measurements not impacted by gases such as hydrogen sulfide</td> <td></td> <td></td> <td>X</td> </tr> <tr> <td>Lowest Cost</td> <td>X</td> <td>X</td> <td></td> </tr> </tbody> </table> <script type="text/javascript">// <![CDATA[ $(function () { $('table').footable(); }); // ]]></script> </div> <p></p> <p><a id="selecting-do-instrument"></a>Want to learn more about the measurement of DO, differences between DO sensors, and best practices? <a href="https://www.ysi.com/do-handbook">Download our DO Handbook!</a></p></div> </div> </div><div id="ctl01_PageZoneContainer2_PageZoneContainer2_VJZHiX97Fh"> <div id="ctl01_PageZoneContainer2_PageZoneContainer2_VJZHiX97Fh_ctl00"> <div><h2><a id="what-is-dissolved-oxygen-in-water"></a>How to Select the Right Dissolved Oxygen Instrument</h2> <p>While electrochemical and optical DO sensors are suitable for many applications, the instruments they're used with are often designed with specific applications in mind. Examples include:</p> <p>The <a href="https://www.ysi.com/multilab-4010-3w">MultiLab 4010-3W</a> is the ideal instrument to use in a lab (e.g., wastewater lab) that's measuring pH, DO/<a href="https://www.ysi.com/parameters/biochemical-oxygen-demand-bod">BOD</a>, ammonia, or another combination of parameters. This is a lab instrument – it's not meant to be used outside! While the sensor technology is the same as is used on field instruments, the sensor bodies are designed for use in a controlled environment (e.g., some pH sensors have a refillable glass body).</p> <figure><img alt="dissolved oxygen meter" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-meter-lab-benchtop-bod.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 28: YSI MultiLab instruments are ideal for measuring DO/BOD and other parameters in a laboratory setting.</figcaption> </figure> <p>The <a href="https://www.ysi.com/prodss">ProDSS</a> is a portable system with a handheld, single cable, and a bulkhead where the sensors are installed. This is a true field instrument – rugged, waterproof case (IP-67 rated); metal, military-spec (MS) cable connectors; and titanium sensors. This instrument is meant to be used for spot sampling, meaning it is not meant for unattended monitoring.</p> <p>For assistance selecting the right portable dissolved oxygen system, check out our blog post on <a href="https://www.ysi.com/ysi-blog/water-blogged-blog/2023/08/how-to-select-a-portable-dissolved-oxygen-meter-top-5-considerations">5 Considerations When Selecting a Portable Dissolved Oxygen Meter</a> or our video on <a href="https://video.ysi.com/how-to-select-a-handheld-dissolved">How to Select a Handheld Dissolved Oxygen Meter</a>. See available <a href="https://www.ysi.com/products/dissolved-oxygen-meters">dissolved oxygen meters</a><span data-teams="true">.</span> </p> <figure><img alt="dissolved oxygen meter | dissolve oxygen meter | DO sampling" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-meter.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 29: ProDSS is a portable multiparameter field instrument that measures DO with an optical sensor. It is ideal for many outdoor water quality spot-sampling applications.</figcaption> </figure> <div itemprop="video" itemscope itemtype="http://schema.org/VideoObject" title="How to Select a Handheld Dissolved Oxygen Meter"> <div style="width: 100%; height: 0; position: relative; padding-bottom: 56.25%;"><iframe style="width: 100%; height: 100%; position: absolute; top: 0; left: 0;" title="How to Select a Handheld Dissolved Oxygen Meter" src="https://video.ysi.com/v.ihtml/player.html?token=b5d8fd01cb5313a47ce0147de73d3ad8&source=embed&photo%5fid=87338276" frameborder="0" border="0" scrolling="no" allowfullscreen="allowfullscreen" allow="autoplay; fullscreen"> <p>Your web browser does not support iframes, which means that the video How to Select a Handheld Dissolved Oxygen Meter cannot play.</p> </iframe></div> </div> <p></p> <h4>Video: How to Select a Handheld Dissolved Oxygen Meter</h4> <p></p> <p>The <a href="https://www.ysi.com/exo">EXO</a> sonde is similar to the ProDSS, but it features more sensors (e.g., the <a href="https://www.ysi.com/nitraled">NitraLED</a>) and is designed for continuous, unattended monitoring in many types of environments. It has onboard batteries, data logging, and an onboard wiper, all of which allow for months-long deployments in harsh environments. This is the most advanced outdoor water quality monitoring platform we offer. Not convinced? Check out our blog post on <a href="https://www.ysi.com/ysi-blog/water-blogged-blog/2020/08/bayou-sorrell-an-unexpected-bonus-with-exo-sondes">Bayou Sorrell | An Unexpected Bonus with EXO Sondes</a>.</p> <figure><img alt="dissolved oxygen monitoring system" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-monitoring-system.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 30: The EXO is a multiparameter sonde that measures DO with an optical sensor. Equipped with features that make it ideal for continuous unattended monitoring, the EXO is our premium outdoor water quality platform.</figcaption> </figure> <p>Aquaculture monitors like the <a href="https://www.ysi.com/5200a">5200A</a>, <a href="https://www.ysi.com/5400">5400</a>, and <a href="https://www.ysi.com/5500d">5500D</a> are also meant for continuous monitoring, but these systems require a power source and are typically stationary. These can be connected to the <a href="/https://www.ysi.com/aquaviewerii">AquaViewer II App</a> that allows the user to configure tanks and map them on the app, monitor water quality conditions, receive alarms if there's a problem, and more.</p> <figure><img alt="dissolved oxygen monitoring" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-monitoring-system-aquarium.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 31: YSI aquaculture instrumentation is used to monitor the shark tank at Newport Aquarium in Newport, KY. <a href="https://video.ysi.com/water-quality-monitoring-at-the-newport-aquarium-1">Check out our video!</a></figcaption> </figure> <p>The <a href="https://www.ysi.com/iqsn">IQ SensorNet</a> system is ideal for wastewater monitoring and control. Operators use systems like these to view their process in real-time and react accordingly. A variety of controllers, modules, and sensors (e.g., the <a href="https://www.ysi.com/fdo">FDO 700 optical sensor</a>) allow facilities to monitor only what they need to – up to 20 probes can be connected! Sensors are built into rugged, corrosion-resistant probes.</p> <figure><img alt="dissolved oxygen monitoring and control" objectid="cf3b7327-6e59-47a8-aeeb-834a2dd2e0a1" src="https://www.ysi.com/image%20library/parameters/dissolved%20oxygen/dissolved-oxygen-monitoring-and-control-wastewater.jpg" data-amp-height="300" data-amp-width="600"><br> <figcaption>Figure 32: Highly customizable and exceptionally rugged, the IQSN system is ideal for wastewater monitoring and control at a wastewater treatment facility.</figcaption> </figure> <p>The table below provides a list of YSI's platforms, typical use for the platform, and the type of DO sensor(s) available.</p> <figure> <figcaption><strong>Table 4:</strong> Typical use and type of sensor(s) available for YSI's DO platforms</figcaption> </figure> <div> <table class="footable two metro-blue"> <thead> <tr> <th data-toggle="false"><strong>Platform</strong></th> <th data-hide="phone,tablet"><strong>Typical Use<br></strong></th> <th data-hide="phone,tablet"><strong>Available DO Sensor Type(s)</strong></th> <th data-hide="phone,tablet"><strong>Simultaneously Connect Other Sensors Besides DO and Temperature?<br></strong></th> </tr> </thead> <tbody> <tr> <td><a href="https://www.ysi.com/multilab-4010-1w">MultiLab 4010-1W</a></td> <td>Lab</td> <td>Polarographic or optical</td> <td>No</td> </tr> <tr> <td><a href="https://www.ysi.com/multilab-4010-2w">MultiLab 4010-2W</a></td> <td>Lab</td> <td>Polarographic or optical</td> <td>Yes, 1 additional sensor</td> </tr> <tr> <td><a href="https://www.ysi.com/multilab-4010-3w">MultiLab 4010-3W</a></td> <td>Lab</td> <td>Polarographic or optical</td> <td>Yes, 1 additional sensor</td> </tr> <tr> <td>EcoSense <a href="https://www.ysi.com/do200a">DO200A</a>/<a href="https://www.ysi.com/do200m">DO200M</a></td> <td>Field; portable handheld</td> <td>Polarographic</td> <td>No</td> </tr> <tr> <td><a href="https://www.ysi.com/pro20">Pro20</a>/<a href="https://www.ysi.com/pro20i">Pro20i</a></td> <td>Field; portable handheld</td> <td>Polarographic or galvanic</td> <td>No</td> </tr> <tr> <td><a href="https://www.ysi.com/pro1020">Pro1020</a></td> <td>Field; portable handheld</td> <td>Polarographic or galvanic</td> <td>Yes, pH or ORP</td> </tr> <tr> <td><a href="https://www.ysi.com/pro2030">Pro2030</a></td> <td>Field; portable handheld</td> <td>Polarographic or galvanic</td> <td>Yes, conductivity</td> </tr> <tr> <td><a href="https://www.ysi.com/proquatro">ProQuatro</a></td> <td>Field; portable handheld</td> <td>Polarographic or galvanic</td> <td>Yes, multiple sensors</td> </tr> <tr> <td><a href="https://www.ysi.com/prosolo">ProSolo,</a><a href="https://www.ysi.com/proswap"> ProSwap,</a> and Ecosense <a href="https://www.ysi.com/odo200">ODO200</a>/<a href="https://www.ysi.com/odo200m">ODO200m</a></td> <td>Field; portable handheld</td> <td>Optical</td> <td>No</td> </tr> <tr> <td><a href="https://www.ysi.com/prodss">ProDSS</a></td> <td>Field; portable</td> <td>Optical</td> <td>Yes, multiple sensors</td> </tr> <tr> <td><a href="https://www.ysi.com/exo">EXO</a></td> <td>Field; long-term monitoring</td> <td>Optical</td> <td>Yes, multiple sensors</td> </tr> <tr> <td><a href="https://www.ysi.com/5200a">5200A</a></td> <td>Field; aquaculture monitoring</td> <td>Polarographic</td> <td>Yes, multiple sensors</td> </tr> <tr> <td><a href="https://www.ysi.com/5400">5400</a></td> <td>Field; aquaculture monitoring</td> <td>Galvanic</td> <td>No, but multiple DO sensors can be connected</td> </tr> <tr> <td><a href="https://www.ysi.com/5500d">5500D</a></td> <td>Field; aquaculture monitoring</td> <td>Optical</td> <td>No, but multiple DO sensors can be connected</td> </tr> <tr> <td><a href="https://www.ysi.com/iqsn">IQ SensorNet</a></td> <td>Field; wastewater monitoring</td> <td>Optical</td> <td>Yes, multiple sensors</td> </tr> </tbody> </table> <script type="text/javascript">// <![CDATA[ $(function () { $('table').footable(); }); // ]]></script> </div> <p></p> <p>Still not sure which dissolved oxygen sensor or instrument is right for your needs? <a href="https://www.ysi.com/customer-support/ask-a-question">Ask our experts</a> or <a href="https://www.ysi.com/consult">schedule a free virtual consultation</a> today!</p> <p><b>Sources</b></p> <ol> <li><strong></strong><em><a href="http://fruitandnuteducation.ucdavis.edu/generaltopics/Tree_Growth_Structure/Photosynthesis_Respiration/" target="_blank"><strong>UC Davis</strong>, <em>Photosythesis & Respiration</em></a></em></li> <li><strong></strong><em><a href="https://www.twdb.texas.gov/groundwater/docs/UMs/UM-51.pdf" target="_blank"><strong>Texas Water Development Board</strong>, <em>A Field Manual for Groundwater Sampling</em></a></em></li> <li><strong></strong><em><a href="https://www.epa.state.oh.us/portals/28/documents/TGM-10.pdf" target="_blank"><strong>Ohio EPA</strong>, <em>Ground Water Sampling</em></a></em></li> <li><strong></strong><em><a href="https://ngwa.onlinelibrary.wiley.com/doi/abs/10.1111/j.1745-6592.1988.tb00981.x" target="_blank"><strong>Groundwater Monitoring & Remediation</strong>, <em>Monitoring Dissolved Oxygen in Ground Water Some Basic Considerations</em></a></em></li> <li><strong></strong><em><a href="https://frtr.gov/matrix/documents/Enhanced-In-Situ-Reductive-Dechlorinated-for-Groundwater/2004-Principles-and-Practices-of-Enhanced-Anaerobic-Bioremediation-of-Chlorinated-Solvents.pdf" target="_blank"><strong>Parsons</strong>, <em>Principles and Practices of Enhanced Anaerobic Bioremediation of Chlorinated Solvents</em></a></em></li> <li><strong></strong><em><a href="https://serc.carleton.edu/microbelife/research_methods/environ_sampling/oxygen.html" target="_blank"><strong>SERC</strong>, <em>The Winkler Method - Measuring Dissolved Oxygen</em></a></em></li> </ol></div> </div> </div> </div> <!-- Slider Start --> <!-- Slider End --> <!-- Start Sub Header 1 --> <!-- End Sub Header 1 --> <div class="row"> <!-- Start Image --> <div class="column sm-12"> </div> <!-- End Image --> <!-- Start Sub Header with Text --> <div class="column sm-12"> </div> <!-- End Sub Header with Text --> </div> <!-- Form Row Start --> <div class="row"> </div> <!-- Form Row End --> <script type="text/javascript"> $(document).ready(function () { if ($('div#DocLinks ul.accordion li').length > 0) { $('div#DocLinks').show(); } }); </script> <div id="DocLinks" class="row" style="padding: 0 30px; display: none"> <ul class="accordion"> </ul> </div> </div> </div> <!-- Wrapper End --> </div> </div> <div class="imgFull"> </div> <!-- Footer Start --> <footer class="main-footer" role="contentinfo"> <div class="be-ix-link-block"> <script> (function() { var bectabarscript = document.createElement("script"); bectabarscript.type = "text/javascript"; bectabarscript.id="bectabarscriptid"; bectabarscript.async = "true"; bectabarscript.setAttribute("data-customerid","f00000000170758"); bectabarscript.setAttribute("data-testmode","false"); bectabarscript.setAttribute("data-configpath","https://cta-cf.bc0a.com/js/cta_f00000000170758-v3.js"); bectabarscript.src = "https://cta-cf.bc0a.com/js/cta-core-v3.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bectabarscript, s); })(); </script> <div class="be-related-link-container row"><div class="be-label">Related Information</div><ul class="be-list"><li class="be-list-item"><a class="be-related-link" href="https://www.ysi.com/ysi-blog/water-blogged-blog/2014/06/environmental-dissolved-oxygen-values-above-100-air-saturation">Environmental Dissolved Oxygen Values Above...</a></li><li class="be-list-item"><a class="be-related-link" href="https://www.ysi.com/ysi-blog/water-blogged-blog/2021/06/do-meter-measurement-problems-check-out-these-top-tips">DO Meter Measurement Problems?</a></li><li class="be-list-item"><a class="be-related-link" href="https://www.ysi.com/exo-university/video/exo-measurement-units-dissolved-oxygen">EXO Measurement Units – Dissolved Oxygen</a></li></ul></div> <!-- be_sdkms_pub: link-block; link-block_1.0.0.0; bodystr</li> be_sdkms_date_modified: pn_tstr:Mon Mar 03 12:35:54 PST 2025; pn_epoch:1741034154055; be_sdkms_timer: 0 ms; --> <ul id="be_sdkms_capsule" style="display:none!important"> <li id="be_sdkms_capsule_messages"> <!-- ixf_msg: CM bodystr node_type node feature_group _body_open --> </li> <li class="be_sdkms_sdk_version">be_ixf; dotnet_sdk; dotnet_sdk_1.4.12</li> <li id="be_sdkms_original_url">https://www.ysi.com/parameters/dissolved-oxygen</li> <li id="be_sdkms_capsule_url">http://ixfd-api.bc0a.com/api/ixf/1.0.0/get_capsule/f00000000170758/01414140756?client=dotnet_sdk&client_version=1.4.12&orig_url=https%3A%2F%2Fwww.ysi.com%2Fparameters%2Fdissolved-oxygen&base_url=https%3A%2F%2Fwww.ysi.com%2Fparameters%2Fdissolved-oxygen&user_agent=Mozilla%2F4.0+(compatible%3B+MSIE+7.0%3B+Windows+NT+6.0%3B+SLCC1%3B+.NET+CLR+2.0.50727%3B+.NET+CLR+3.0.04506%3B+.NET+CLR+3.5.21022%3B+.NET+CLR+1.0.3705%3B+.NET+CLR+1.1.4322)</li> <li id="be_sdkms_normalized_url">https://www.ysi.com/parameters/dissolved-oxygen</li> <li id="be_sdkms_configuration">sdk.environment=production;sdk.charset=UTF-8;api.endpoint=http://ixfd-api.bc0a.com/;sdk.account=f00000000170758;sdk.connectTimeout=500;sdk.socketTimeout=500;sdk.crawlerConnectTimeout=750;sdk.crawlerSocketTimeout=750;whitelist.parameter.list=ixf;flat.file=true;sdk.proxyPort=0;sdk.proxyProtocol=http;crawler.useragents=google|bingbot|msnbot|slurp|duckduckbot|baiduspider|yandexbot|sogou|exabot|facebot|ia_archiver;forcedirectapi.parameter.list=ixf-api|ixf;page.alias.url=https://www.ysi.com/parameters/dissolved-oxygen;canonical.host=www.ysi.com;canonical.protocol=https</li> </ul> </div> <div class="row"> <!-- Footer Navigation Start --> <?xml version="1.0" encoding="utf-16"?> <div class="column lg-5"> <h3 class="hiddenTriggerClick"> <a href="/products">Products</a> </h3> <nav class="footer-links hiddenContent"> <ul> <li> <a href="/products/accessories">Accessories</a> </li> <li> <a href="/products/acoustic-doppler-current-profilers-adcps-and-current-meters">Acoustic Doppler Current Profilers ADCPs and Current Meters</a> </li> <li> <a href="/products/aquaculture-process-monitors">Aquaculture Process Monitors and Sensors</a> </li> <li> <a href="/products/auto-samplers">Auto Samplers</a> </li> <li> <a href="/products/automated-chemistry-analyzers">Automated Chemistry Analyzers</a> </li> <li> <a href="/products/biochemistry-analyzers">Biochemistry Analyzers</a> </li> <li> <a href="/products/colorimeters-and-photometers">Colorimeters and Photometers</a> </li> <li> <a href="/products/drinking-water-process-monitors-and-sensors">Drinking Water Process Monitors and Sensors</a> </li> <li> <a href="/products/gas-chromatography-equipment">Gas Chromatography Equipment</a> </li> <li> <a href="/products/gerhardt-lab-instruments">Gerhardt Lab Instruments</a> </li> <li> <a href="/products/laboratory-products-electrochemistry">Laboratory and Electrochemistry</a> </li> <li> <a href="/products/level-gauging-and-data-acquisition">Level Gauging, Flow and Data Acquisition</a> </li> <li> <a href="/products/multiparameter-sondes">Multiparameter Sondes</a> </li> <li> <a href="/products/monitoring-buoys-and-platforms">Monitoring Buoys and Platforms</a> </li> <li> <a href="/products/reagents-membranes-and-cal-solutions">Reagents, Membranes and Calibration Solutions</a> </li> <li> <a href="/products/refractometers">Refractometers and Polarimeters</a> </li> <li> <a href="/products/replacement-part">Replacement Parts</a> </li> <li> <a href="/products/sampling-handhelds-and-testers">Sampling Handhelds</a> </li> <li> <a href="/products/survey-vehicles">Survey Vehicles</a> </li> <li> <a href="/products/titration">Titration</a> </li> <li> <a href="/products/total-organic-carbon-analyzers">Total Organic Carbon Analyzers</a> </li> <li> <a href="/products/wastewater-process-monitors-and-sensors">Wastewater Process Monitors and Sensors</a> </li> <li> <a href="/products/weather">Weather</a> </li> </ul> </nav> </div> <div class="column lg-5"> <h3 class="hiddenTriggerClick"> <a href="/applications">Applications</a> </h3> <nav class="footer-links hiddenContent"> <ul> <li> <a href="/applications/aquaculture">Aquaculture</a> </li> <li> <a href="/applications/bioprocessing-and-online-monitoring-control">Bioprocessing and Online Monitoring & Control</a> </li> <li> <a href="/applications/food-beverage">Food & Beverage</a> </li> <li> <a href="/applications/general-environmental-lab">General & Environmental Lab</a> </li> <li> <a href="/applications/groundwater">Groundwater</a> </li> <li> <a href="/applications/harmful-algal-blooms-habs">Harmful Algal Blooms - HABs</a> </li> <li> <a href="/applications/life-sciences">Life Sciences</a> </li> <li> <a href="/applications/ocean-coastal">Ocean & Coastal</a> </li> <li> <a href="/applications/source-raw-drinking-water">Source, Raw & Drinking Water</a> </li> <li> <a href="/applications/stormwater">Stormwater</a> </li> <li> <a href="/applications/surface-water">Surface Water</a> </li> <li> <a href="/applications/wastewater">Wastewater</a> </li> <li> <a href="/applications">More Applications...</a> </li> </ul> </nav> </div> <div class="column lg-5"> <h3 class="hiddenTriggerClick"> <a href="/customer-support">Customer Support</a> </h3> <nav class="footer-links hiddenContent"> <ul> <li> <a href="/customer-support/ask-a-question">Ask a Question</a> </li> <li> <a href="/customer-support/events-training-webinars/on-demand">Events, Training & Webinars</a> </li> <li> <a href="/customer-support/find-a-distributor">Find a Distributor</a> </li> <li> <a href="/customer-support/find-a-systems-regional-integration-center">Find a Systems Regional Integration Center</a> </li> <li> <a href="/how-to-order">How To Order</a> </li> <li> <a href="/customer-support/warranty-card">Online Warranty Card</a> </li> <li> <a href="/customer-support/find-a-service-center">Product Service</a> </li> <li> <a href="/consult">Project Consulting - Environmental</a> </li> <li> <a href="/project-consulting-laboratory">Project Consulting - Laboratory</a> </li> <li> <a href="/municipal-water-consulting">Project Consulting - Municipal</a> </li> <li> <a href="/customer-support/recommended-replacements">Recommended Replacements</a> </li> <li> <a href="/customer-support/recycling-disposal">Recycling & Disposal</a> </li> <li> <a href="/customer-support/repair-parts">Repair Parts & Schematics</a> </li> <li> <a href="/customer-support/repair-status">Repair Status Checker</a> </li> <li> <a href="/request-a-quote">Request Pricing</a> </li> <li> <a href="/customer-support/resource-library">Resource Library</a> </li> <li> <a href="/customer-support/software-downloads">Software & Firmware Downloads</a> </li> <li> <a href="https://video.ysi.com/">Videos</a> </li> <li> <a href="/water-monitoring-services">Water Monitoring Services</a> </li> </ul> </nav> </div> <!-- Footer Navigation End --> <div class="column lg-9"> <div id="ContactInfoDiv"> <div id="ctl01_FooterContent_ContactInfo" class="CLContentDataView"> <?xml version="1.0" encoding="utf-16"?> <nav class="contact"> <ul> <li> <a href="tel:19376884255" class="icon-phone">Call +1 937-688-4255</a> </li> <li> <a href="/contact-us/connect-with-ysi" class="icon-users">Connect with us</a> </li> <li> <a href="mailto:ysi.info@xylem.com" class="icon-mail">ysi.info@xylem.com</a> </li> </ul> </nav><input name="ctl01$FooterContent$ContactInfo$ctl01_FooterContent_ContactInfoCallBack_ClientValues" type="hidden" id="ctl01_FooterContent_ContactInfoCallBack_ClientValues" value="0^^" /> </div> </div> <script> $(document).ready(function () { var container = $('.main-footer .row .lg-6:nth-child(3)'); var content = $('#ContactInfoDiv'); $(content.contents()).appendTo(container); }); </script> <h3>Connect with us</h3> <nav class="footer-social-links"> <div id="ctl01_FooterContent_SocialIconsFooter" class="CLContentDataView"> <?xml version="1.0" encoding="utf-16"?> <ul> <li> <a href="https://www.youtube.com/user/YSIinc" class="icon-youtube"> <div style="display:none;">Youtube</div> </a> </li> <li> <a href="https://www.linkedin.com/company/ysi" class="icon-linkedin"> <div style="display:none;">LinkedIn</div> </a> </li> <li> <a href="https://www.instagram.com/ysiinc/" class="icon-instagram"> <div style="display:none;">Instagram</div> </a> </li> <li> <a href="https://www.facebook.com/myYSI" class="icon-facebook"> <div style="display:none;">Facebook</div> </a> </li> </ul><input name="ctl01$FooterContent$SocialIconsFooter$ctl01_FooterContent_SocialIconsFooterCallBack_ClientValues" type="hidden" id="ctl01_FooterContent_SocialIconsFooterCallBack_ClientValues" value="0^^" /> </div> </nav> <h3> <div id="ctl01_FooterContent_GetOurNewsletter"> <div id="ctl01_FooterContent_GetOurNewsletter_ctl00"> <h2 style="color: white;">Subscribe to Our Blog</h2> <script src="//app-sj21.marketo.com/js/forms2/js/forms2.min.js"></script> <div id="mktoForm_1169"> </div> <p><script> MktoForms2.loadForm("//app-sj21.marketo.com", "240-UTB-146", 1169, function (form){ MktoForms2.$("#mktoForm_1169").append(form.getFormElem()); }); </script></p> </div> </div> </h3> </div> </div> <div class="main-footer-lower"> <div class="row"> <div class="column med-3 hide-med-down footer-logo-container"> <!-- YSI Logo Start --> <div id="ctl01_FooterContent_YSILogoFooter"> <img id="ctl01_FooterContent_YSILogoFooter_ctl00" alt="YSI" src="../Image%20Library/Logo/xylem-logo-footer.png" /> </div> <script> $(document).ready(function () { YSILogo = '#ctl01_FooterContent_YSILogoFooter img'; $(YSILogo).css('cursor', 'pointer'); $(YSILogo).click(function () { $(location).attr('href', 'https://www.ysi.com/'); }); }); </script> <!-- YSI Logo End --> </div> <div class="column med-21"> <!-- Copyright Info Start --> <div id="ctl01_FooterContent_fwtCopyright"> <div id="ctl01_FooterContent_fwtCopyright_ctl00"> <p>Copyright © 2025 YSI Inc. / Xylem Inc. All rights reserved.<br><a href="https://www.xylem.com/en-US/support/xylem-americas-standard-terms-and-conditions/" target="_blank" data-iapps-linktype="External" data-iapps-managed="true">Terms & Conditions of Sale</a> | <a href="https://www.xylem.com/siteassets/support/terms-and-conditions/standard-terms-and-conditions-of-purchase/2019-terms-and-conditions-of-purchase---revised/xylem---terms-and-conditions-of-purchase_2019_english.pdf" target="_blank" data-iapps-linktype="External" data-iapps-managed="true">Terms & Conditions of Purchase</a> | <a href="https://www.xylem.com/en-US/support/terms-and-conditions/" title="Xylem Legal Disclaimer" target="_blank" data-iapps-linktype="External" data-iapps-managed="true">Legal Disclaimer</a> | <a href="https://www.xylem.com/en-US/support/privacy/" target="_blank" data-iapps-linktype="External" data-iapps-managed="true">Privacy Policy</a> | <a href="https://www.xylem.com/siteassets/about-xylem/transparency-in-supply-chains.pdf" target="_blank">Transparency in Supply Chains</a> | <a title="Do Not Sell Or Share My Personal Information">Do Not Sell Or Share My Personal Information</a></p> <p>YSI Incorporated | 1700/1725 Brannum Lane | Yellow Springs, OH 45387 USA | +1-937-688-4255 | <a href="mailto:ysi.info@xylem.com">ysi.info@xylem.com</a><br>YSI is a trademark of Xylem Inc. or one of its subsidiaries. Learn more about <a href="https://www.xylem.com/en-us/" target="_blank">Xylem</a> and <a href="https://www.xylemanalytics.com/en" target="_blank">Xylem Analytics</a>.<br>We use cookies and beacons to improve your experience on our site. Read more about this in our <a href="https://www.xylem.com/en-US/support/privacy/" data-iapps-linktype="External" data-iapps-managed="true">Privacy Policy</a>.</p> </div> </div> <!-- Copyright Info End --> </div> </div> </div> </footer> <!-- Footer End --> <script type="text/javascript"> $('.slider-feature').slick( { autoplay: true, autoplaySpeed: 7000, fade: true, arrows: false, dots: true, cssEase: 'linear', } ); </script> <script type="text/javascript" src="/jsfile/Basepage.js?v=638670192220000000"></script> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="B4380F01" /> </div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMTAyOTQ0MTA0EBYCHhNWYWxpZGF0ZVJlcXVlc3RNb2RlAgFkFgICAQ9kFgQCAQ9kFgQCBg9kFghmDxYGHgNyZWwFCnN0eWxlc2hlZXQeBHR5cGUFCHRleHQvY3NzHgRocmVmBTkvU3R5bGUlMjBMaWJyYXJ5L1NpdGUvcmVzcG9uc2l2ZS5jc3M/dj02Mzg3MzYzMjg4ODAwMDAwMDBkAgEPFgYfAQUKc3R5bGVzaGVldB8CBQh0ZXh0L2Nzcx8DBTUvU3R5bGUlMjBMaWJyYXJ5L1NpdGUvbGF0ZUlFLmNzcz92PTYzODczNjMyODg4MDAwMDAwMGQCAg8WBh8BBQpzdHlsZXNoZWV0HwIFCHRleHQvY3NzHwMFSi9TdHlsZSUyMExpYnJhcnkvUmVzcG9uc2l2ZSUyMFRhYmxlL2Zvb3RhYmxlLmNvcmUuY3NzP3Y9NjM1NTk0NDMxNTEwMDAwMDAwZAIDDxYGHwEFCnN0eWxlc2hlZXQfAgUIdGV4dC9jc3MfAwVLL1N0eWxlJTIwTGlicmFyeS9SZXNwb25zaXZlJTIwVGFibGUvZm9vdGFibGUubWV0cm8uY3NzP3Y9NjM1NTk0NDMxNzAwMDAwMDAwZAIHD2QWCmYPFgQfAgUPdGV4dC9qYXZhc2NyaXB0HgNzcmMFPmh0dHBzOi8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzEuNy9qcXVlcnkubWluLmpzZAIBDxYEHwIFD3RleHQvamF2YXNjcmlwdB8EBUNodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeXVpLzEuNy9qcXVlcnktdWkubWluLmpzZAICDxYEHwIFD3RleHQvamF2YXNjcmlwdB8EBTgvU2NyaXB0JTIwTGlicmFyeS9TaXRlL21vZGVybml6ci5qcz92PTYzODczNjMyODg4MDAwMDAwMGQCAw8WBB8CBQ90ZXh0L2phdmFzY3JpcHQfBAU1L1NjcmlwdCUyMExpYnJhcnkvU2l0ZS9zbGlkZXIuanM/dj02Mzg3MzYzMjg4ODAwMDAwMDBkAgQPFgQfAgUPdGV4dC9qYXZhc2NyaXB0HwQFUC9TY3JpcHQlMjBMaWJyYXJ5L1Jlc3BvbnNpdmUlMjBUYWJsZS9OZXclMjBOb2RlL2Zvb3RhYmxlLmpzP3Y9NjM1NTk0NDM0OTkwMDAwMDAwZAIDD2QWBAIFD2QWCgIBDw8WAh4HVmlzaWJsZWhkFgICAQ9kFgwCAg8UKwACZGRkAgQPFCsAAmRkZAIGDxQrAAJkZGQCBw9kFgYCAQ8QZGQWAGQCAg8QZGQWAWZkAgMPEGRkFgFmZAIKDxQrAAJkZGQCCw8UKwACZGRkAgIPFgIfBWhkAgMPZBYCZg9kFiACAQ9kFgZmD2QWAgUFY3RsMDAPDxYCHghJbWFnZVVybAUdfi9JbWFnZSBMaWJyYXJ5L0xvZ28vbG9nby5wbmdkZAICDxYCHwVnFgQCAQ8PFgIeC05hdmlnYXRlVXJsBREvbXktcHJvZmlsZS9sb2dpbmRkAgMPDxYCHwcFFC9teS1wcm9maWxlL3JlZ2lzdGVyZGQCBQ9kFgZmDw8WAh8HBRgvbXktcHJvZmlsZS9zaG9wcGluZ2NhcnRkFgQCAQ8WAh4EVGV4dAUBMGQCBQ8WAh8IBQUkMC4wMGQCBA8WAh8IBQUkMC4wMGQCEA8WAh8IBQUkMC4wMGQCAw9kFgICAQ8PFgQeCENzc0NsYXNzBQpCcmVhZGNydW1iHgRfIVNCAgJkFgIFBWN0bDAwD2QWAmYPFgIfCAXRATw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi0xNiI/Pg0KPHVsIGNsYXNzPSJicmVhZENydW1icyIgeG1sbnM6WVNJWHNsdEhlbHBlcj0iWVNJWHNsdEhlbHBlciI+DQogIDxsaT4NCiAgICA8YSBocmVmPSIvIj7ijII8L2E+DQogIDwvbGk+DQogIDxsaT4NCiAgICA8YSBocmVmPSIvcGFyYW1ldGVycyI+UGFyYW1ldGVyczwvYT4NCiAgPC9saT4NCjwvdWw+ZAIHD2QWCmYPZBYCBQVjdGwwMA8PFgIfCAXwEQo8ZGl2PjxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyBwYWRkaW5nOiAxNXB4OyBib3JkZXItYm90dG9tOiBzb2xpZCAjMDA1Y2FiIDJweDsgYm9yZGVyLXJpZ2h0OiBzb2xpZCAjMDA1Y2FiIDJweDsgbWFyZ2luOiAwIDIwcHggMjBweCAwOyI+CjxoNT5UYWJsZSBvZiBDb250ZW50czwvaDU+CjxwPkEuIDxhIGhyZWY9IiN3aGF0LWlzLWRpc3NvbHZlZC1veHlnZW4iPldoYXQgaXMgRGlzc29sdmVkIE94eWdlbiBpbiBXYXRlcj88L2E+PGJyPiZuYnNwOyZuYnNwOyBhLiA8YSBocmVmPSIjc291cmNlcy1vZi1kby1pbi13YXRlciI+V2hhdCBBcmUgU291cmNlcyBvZiBEaXNzb2x2ZWQgT3h5Z2VuIGluIFdhdGVyPzwvYT48YnI+Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyBpLiA8YSBocmVmPSIjZWFydGgtYXRtb3NwaGVyZSI+VGhlIEVhcnRoJ3MgQXRtb3NwaGVyZTwvYT48YnI+Jm5ic3A7Jm5ic3A7ICZuYnNwOyBpaS4gPGEgaHJlZj0iI3Bob3Rvc3ludGhlc2lzIj5QaG90b3N5bnRoZXNpczwvYT48YnI+Jm5ic3A7Jm5ic3A7IGIuIDxhIGhyZWY9IiNlbnZpcm9ubWVudGFsLXZhcmlhYmxlcyI+V2hhdCBFbnZpcm9ubWVudGFsIFZhcmlhYmxlcyBBZmZlY3QgRGlzc29sdmVkIE94eWdlbj88L2E+PGJyPiZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsgaS4gPGEgaHJlZj0iI3RlbXBlcmF0dXJlIj5UZW1wZXJhdHVyZTwvYT48YnI+Jm5ic3A7Jm5ic3A7ICZuYnNwOyBpaS4gPGEgaHJlZj0iI3NhbGluaXR5Ij5TYWxpbml0eTwvYT48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlpaS4gPGEgaHJlZj0iI2Jhcm9tZXRyaWMtcHJlc3N1cmUiPkJhcm9tZXRyaWMgUHJlc3N1cmU8L2E+PGJyPiZuYnNwOyZuYnNwOyBjLiA8YSBocmVmPSIjdW5pdHMtbWVhc3VyZS1kbyI+V2hhdCBVbml0cyBBcmUgVXNlZCBXaGVuIE1lYXN1cmluZyBEaXNzb2x2ZWQgT3h5Z2VuPzwvYT48YnI+Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyBpLiA8YSBocmVmPSIjY29tcGFyZS1kby11bml0cyI+Q29tcGFyaW5nIERpc3NvbHZlZCBPeHlnZW4gTWVhc3VyZW1lbnQgVW5pdHM8L2E+PGJyPiZuYnNwOyZuYnNwOyAmbmJzcDsgaWkuIDxhIGhyZWY9IiNkby1zdXBlcnNhdHVyYXRpb24iPldoYXQgaXMgRGlzc29sdmVkIE94eWdlbiBTdXBlcnNhdHVyYXRpb24/PC9hPjxicj5CLiA8YSBocmVmPSIjd2h5LW1lYXN1cmUtZG8taW4td2F0ZXIiPldoeSBNZWFzdXJlIERpc3NvbHZlZCBPeHlnZW4gaW4gV2F0ZXI/PC9hPjxicj4mbmJzcDsmbmJzcDsgYS4gPGEgaHJlZj0iI21lYXN1cmUtZG8tc3VyZmFjZS13YXRlci1hcXVhY3VsdHVyZSI+V2h5IE1lYXN1cmUgRGlzc29sdmVkIE94eWdlbiBpbiBTdXJmYWNlIFdhdGVyIGFuZCBBcXVhY3VsdHVyZSA/PC9hPjxicj4mbmJzcDsmbmJzcDsgYi4gPGEgaHJlZj0iI21lYXN1cmUtZG8taW4tZ3JvdW5kd2F0ZXIiPldoeSBNZWFzdXJlIERpc3NvbHZlZCBPeHlnZW4gaW4gR3JvdW5kd2F0ZXI/PC9hPjxicj4mbmJzcDsmbmJzcDsgYy4gPGEgaHJlZj0iI21lYXN1cmUtZG8taW4td2FzdGV3YXRlciI+V2h5IE1lYXN1cmUgRGlzc29sdmVkIE94eWdlbiBpbiBXYXN0ZXdhdGVyPzwvYT48YnI+Qy4gPGEgaHJlZj0iI2hvdy10by1tZWFzdXJlLWRvLWluLXdhdGVyIj5Ib3cgdG8gTWVhc3VyZSBEaXNzb2x2ZWQgT3h5Z2VuIGluIFdhdGVyPC9hPjxicj4mbmJzcDsmbmJzcDsgYS4gPGEgaHJlZj0iI2NvbG9yaW1ldHJpYyI+Q29sb3JpbWV0cmljIE1ldGhvZDwvYT48YnI+Jm5ic3A7Jm5ic3A7IGIuIDxhIGhyZWY9IiN3aW5rbGVyLXRpdHJhdGlvbiI+V2lua2xlciBUaXRyYXRpb248L2E+PGJyPiZuYnNwOyZuYnNwOyBjLiA8YSBocmVmPSIjZWxlY3Ryb2NoZW1pY2FsLXNlbnNvcnMiPkVsZWN0cm9jaGVtaWNhbCBTZW5zb3JzPC9hPjxicj4mbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7IGkuIDxhIGhyZWY9IiNwb2xhcm9ncmFwaGljIj5Qb2xhcm9ncmFwaGljPC9hPjxicj4mbmJzcDsmbmJzcDsgJm5ic3A7IGlpLiA8YSBocmVmPSIjZ2FsdmFuaWMiPkdhbHZhbmljPC9hPjxicj4mbmJzcDsmbmJzcDsgZC4gPGEgaHJlZj0iI29wdGljYWwtc2Vuc29ycyI+T3B0aWNhbCBTZW5zb3JzPC9hPjxicj5ELiA8YSBocmVmPSIjc2VsZWN0aW5nLWRvLXNlbnNvciI+SG93IHRvIFNlbGVjdCB0aGUgUmlnaHQgRGlzc29sdmVkIE94eWdlbiBTZW5zb3I8L2E+PGJyPkUuIDxhIGhyZWY9IiNzZWxlY3RpbmctZG8taW5zdHJ1bWVudCI+SG93IHRvIFNlbGVjdCB0aGUgUmlnaHQgRGlzc29sdmVkIE94eWdlbiBJbnN0cnVtZW50PC9hPjwvcD4KPC9kaXY+PC9kaXY+ZGQCAQ9kFgIFBWN0bDAwDw8WAh8IZWRkAgIPZBYCBQVjdGwwMA8PFgIfCAXoAQo8ZGl2PjxwPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlzaS5jb20vZG8taGFuZGJvb2siPjxpbWcgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9kaXNzb2x2ZWQtb3h5Z2VuLW1lYXN1cmVtZW50LWd1aWRlLXlzaS1kby1oYW5kYm9vay5qcGciIGFsdD0iZGlzc29sdmVkIG94eWdlbiBtZWFzdXJlbWVudCI+PC9hPjwvcD48L2Rpdj5kZAIDD2QWAgUFY3RsMDAPDxYCHwhlZGQCBA9kFgIFBWN0bDAwDw8WAh8IZWRkAgkPZBYCBQVjdGwwMA8PFgIfCAUGJm5ic3A7ZGQCCw9kFgICAQ8WAh4LXyFJdGVtQ291bnRmZAINDxYCHgVzdHlsZQUMZGlzcGxheTpub25lFgICAQ8PFgQfCQUJUGFnZVRpdGxlHwoCAmQWAgUFY3RsMDAPZBYCZg8WAh8IBThEaXNzb2x2ZWQgT3h5Z2VuIE1lYXN1cmVtZW50IGluIFdhdGVyIHdpdGggT3h5Z2VuIE1ldGVyc2QCDw9kFiBmD2QWAgUFY3RsMDAPDxYCHwgFzQEKPGRpdj48cD48aW1nIHN0eWxlPSJmbG9hdDogY2VudGVyOyBtYXJnaW4tYm90dG9tOiAyMHB4OyIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9kaXNzb2x2ZWQtb3h5Z2VuLmpwZyIgYWx0PSJEaXNzb2x2ZWQgT3h5Z2VuIE1lYXN1cmVtZW50IGluIFdhdGVyIj48L3A+PC9kaXY+ZGQCAQ9kFgIFBWN0bDAwDw8WAh8IBccJCjxkaXY+PGgxPjxhIGlkPSJ3aGF0LWlzLWRpc3NvbHZlZC1veHlnZW4iPjwvYT5XaGF0IGlzIERpc3NvbHZlZCBPeHlnZW4gaW4gV2F0ZXI/PC9oMT4KPHA+TW9zdCBhcXVhdGljIG9yZ2FuaXNtcyByZXF1aXJlIGRpc3NvbHZlZCBveHlnZW4sIG9mdGVuIGFiYnJldmlhdGVkIGFzIERPLCB0byBzdXJ2aXZlLCBidXQgdGhlIHNvdXJjZSBvZiB0aGlzIG94eWdlbiBpcyBub3QgdGhlIHdhdGVyIG1vbGVjdWxlICggSDxzdWI+Mjwvc3ViPk8gKS48L3A+CjxwPkRPIGlzIGdhc2VvdXMsIG1vbGVjdWxhciBveHlnZW4gaW4gdGhlIGZvcm0gb2YgTzxzdWI+Mjwvc3ViPiBvcmlnaW5hdGluZyBmcm9tIHRoZSBhdG1vc3BoZXJlIG9yIGFzIGEgYnlwcm9kdWN0IG9mIHBob3Rvc3ludGhlc2lzLiBPbmNlIGRpc3NvbHZlZCBpbiB3YXRlciwgaXQgaXMgYXZhaWxhYmxlIGZvciB1c2UgYnkgbGl2aW5nIG9yZ2FuaXNtcyBhbmQgY2FuIHBsYXkgYSBzaWduaWZpY2FudCByb2xlIGluIG1hbnkgY2hlbWljYWwgcHJvY2Vzc2VzIGluIHRoZSBhcXVhdGljIGVudmlyb25tZW50LiBCZXNpZGVzIGJlaW5nIGRpc3NvbHZlZCBpbiB3YXRlciwgdGhpcyBveHlnZW4gaXMgbm8gZGlmZmVyZW50IGZyb20gdGhlIG94eWdlbiB3ZSBicmVhdGhlLjwvcD4KPGZpZ3VyZSBzdHlsZT0iZGlzcGxheTogdGFibGU7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87Ij48aW1nIHN0eWxlPSJkaXNwbGF5OiBibG9jazsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsiIGFsdD0iZGlzc29sdmVkIG94eWdlbiIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9kaXNzb2x2ZWQtb3h5Z2VuLW1lYXN1cmVtZW50LW1vbGVjdWxhci1veHlnZW4uanBnIiBkYXRhLWFtcC1oZWlnaHQ9IjQwMCIgZGF0YS1hbXAtd2lkdGg9IjYwMCI+PGJyPgo8ZmlnY2FwdGlvbiBzdHlsZT0iZGlzcGxheTogYmxvY2s7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87Ij5GaWd1cmUgMTogTW9sZWN1bGFyIG94eWdlbiAoY2lyY2xlZCkgZGlzc29sdmVkIGluIHdhdGVyLiBNb2xlY3VsYXIgb3h5Z2VuIGRvZXMgbm90IG9yaWdpbmF0ZSBmcm9tIHRoZSBveHlnZW4gaW4gYSB3YXRlciBtb2xlY3VsZSAoIEg8c3ViPjI8L3N1Yj5PICkuPC9maWdjYXB0aW9uPgo8L2ZpZ3VyZT48L2Rpdj5kZAICD2QWAgUFY3RsMDAPDxYCHwgFtyUKPGRpdj48aDM+PGEgaWQ9InNvdXJjZXMtb2YtZG8taW4td2F0ZXIiPjwvYT5XaGF0IEFyZSBTb3VyY2VzIG9mIDxhIGlkPSJlYXJ0aC1hdG1vc3BoZXJlIj48L2E+RGlzc29sdmVkIE94eWdlbiBpbiBXYXRlcj88L2gzPgo8aDQ+VGhlIEVhcnRoJ3MgQXRtb3NwaGVyZTwvaDQ+CjxwPk1vbGVjdWxhciBveHlnZW4gY2FuIGVudGVyIGEgd2F0ZXIgYm9keSBmcm9tIHRoZSBwbGFuZXQncyBhdG1vc3BoZXJlIGluIHNldmVyYWwgd2F5cy4gU3VwcG9zZSB3YXRlciBoYXMgYSBsb3dlciBveHlnZW4gY29uY2VudHJhdGlvbiB0aGFuIHRoZSBhdG1vc3BoZXJlIGFib3ZlIGl0LiBJbiB0aGF0IGNhc2UsIG1vbGVjdWxhciBveHlnZW4gd2lsbCBuYXR1cmFsbHkgZGlmZnVzZSBmcm9tIHRoZSBhaXIgaW50byB0aGUgd2F0ZXIgdW50aWwgaXQgaXMgY29tcGxldGVseSBzYXR1cmF0ZWQgd2l0aCBveHlnZW4uIEVxdWlsaWJyaXVtIGNvbmRpdGlvbnMgYXJlIG1ldCB3aGVuIHRoZSBjb25jZW50cmF0aW9uIG9mIG94eWdlbiBpcyB0aGUgc2FtZSBpbiBhaXIgYW5kIHdhdGVyLjwvcD4KPHA+QWVyYXRpb24gb2Ygd2F0ZXIgb2NjdXJzIHdoZW4gd2F0ZXIgYW5kIGFpciBtaXgsIHJlc3VsdGluZyBpbiBpbmNyZWFzZWQgbGV2ZWxzIG9mIERPIGluIHdhdGVyLiBUaGlzIGhhcHBlbnMgbmF0dXJhbGx5IGF0IHdhdGVyZmFsbHMgYW5kIHJhcGlkcyBvciB3aGVuIHdpbmR5IGNvbmRpdGlvbnMgY2F1c2UgdHVyYnVsZW5jZSBvbiBhIHdhdGVyIGJvZHkncyBzdXJmYWNlLjwvcD4KPGZpZ3VyZT48aW1nIGFsdD0iZGlzc29sdmVkIG94eWdlbiBzYXR1cmF0aW9uIiBvYmplY3RpZD0iY2YzYjczMjctNmU1OS00N2E4LWFlZWItODM0YTJkZDJlMGExIiBzcmM9Imh0dHBzOi8vd3d3LnlzaS5jb20vaW1hZ2UlMjBsaWJyYXJ5L3BhcmFtZXRlcnMvZGlzc29sdmVkJTIwb3h5Z2VuL2Rpc3NvbHZlZC1veHlnZW4tc2F0dXJhdGlvbi1vZi13YXRlci5qcGciIGRhdGEtYW1wLWhlaWdodD0iMzAwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSAyOiBXYXRlcmZhbGxzIGNhbiBpbmNyZWFzZSB0aGUgb3h5Z2VuIHNhdHVyYXRpb24gb2Ygd2F0ZXIuPC9maWdjYXB0aW9uPgo8L2ZpZ3VyZT4KPHA+QXF1YXRpYyBvcmdhbmlzbXMgbmVlZCBETyB0byBzdXJ2aXZlLCBzbyB0aGF0J3Mgd2h5IHNvbWUgd2F0ZXIgYm9kaWVzIGhhdmUgYXJ0aWZpY2lhbCBhZXJhdGlvbi4gRXhhbXBsZXMgaW5jbHVkZSBhIHBhZGRsZSB3aGVlbCBvciBhIGZvdW50YWluIGluIHRoZSBtaWRkbGUgb2YgYSBwb25kLCB0aGUgdXNlIG9mIGFuIGFpciBzdG9uZSBpbiBhbiBhcXVhcml1bSwgYW5kIHB1bXBpbmcgYWlyIGludG8gYWVyYXRpb24gYmFzaW5zIGF0IHdhc3Rld2F0ZXIgdHJlYXRtZW50IHBsYW50cyB0byBzdXN0YWluIG1pY3JvYmVzIHRoYXQgYnJlYWsgZG93biBjb250YW1pbmFudHMuPC9wPgo8cD5BZXJhdGluZyB3YXRlciBjYW4gYmUgYSBjb25zaWRlcmFibGUgZXhwZW5zZSBmb3Igd2FzdGV3YXRlciBmYWNpbGl0aWVzLCBidXQgbW9yZSBtdW5pY2lwYWxpdGllcyBhcmUgdXNpbmcgRE8gc2Vuc29ycyB0byBvcHRpbWl6ZSBhZXJhdGlvbiwgdGh1cyByZWR1Y2luZyB0aGVpciBlbmVyZ3kgY29zdHMuIENoZWNrIG91dCBvdXIgd2hpdGUgcGFwZXIgb24gPGEgaHJlZj0iaHR0cHM6Ly9pbmZvLnh5bGVtLmNvbS9BY3RpdmF0ZWQtU2x1ZGdlLVdoaXRlLVBhcGVyLmh0bWwiIHRhcmdldD0iX2JsYW5rIj5Ib3cgdG8gQ29udHJvbCBBY3RpdmF0ZWQgU2x1ZGdlIHdpdGggT25saW5lIFNlbnNvcnM8L2E+IHRvIGxlYXJuIG1vcmUuPC9wPgo8ZmlndXJlPjxpbWcgYWx0PSJuaXRyYXRlIHdhdGVyIiBvYmplY3RpZD0iY2YzYjczMjctNmU1OS00N2E4LWFlZWItODM0YTJkZDJlMGExIiBzcmM9Imh0dHBzOi8vd3d3LnlzaS5jb20vaW1hZ2UlMjBsaWJyYXJ5L3BhcmFtZXRlcnMvZGlzc29sdmVkJTIwb3h5Z2VuL3dhdGVyLWFlcmF0aW9uLWRpc3NvbHZlZC1veHlnZW4uanBnIiBkYXRhLWFtcC1oZWlnaHQ9IjMwMCIgZGF0YS1hbXAtd2lkdGg9IjYwMCI+PGJyPgo8ZmlnY2FwdGlvbj48YSBpZD0icGhvdG9zeW50aGVzaXMiPjwvYT5GaWd1cmUgMzogQWVyYXRpb24gaXMgYSBjcml0aWNhbCBzdGVwIGluIHRoZSB0cmVhdG1lbnQgcHJvY2VzcyBhdCBtYW55IHdhc3Rld2F0ZXIgZmFjaWxpdGllcywgYXMgbWljcm9iZXMgaW4gdGhlIHdhc3Rld2F0ZXIgcmVseSBvbiBpdCB0byBicmVhayBkb3duIGNvbnRhbWluYW50cy48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8aDQ+UGhvdG9zeW50aGVzaXM8L2g0Pgo8cD5Bbm90aGVyIG1ham9yIHNvdXJjZSBvZiBETyBpcyBwaG90b3N5bnRoZXNpcy4gQXF1YXRpYyBwbGFudHMgYW5kIGFsZ2FlIHVzZSBwaG90b3N5bnRoZXNpcyB0byBnZW5lcmF0ZSBuZXcgY2VsbHMgYW5kIHJlcGFpciBkYW1hZ2VkIGNlbGxzLiBUaGlzIHByb2Nlc3MgcmVxdWlyZXMgd2F0ZXIsIGxpZ2h0IGVuZXJneSwgYW5kIGNhcmJvbiBkaW94aWRlLiBBIGJ5cHJvZHVjdCBvZiBwaG90b3N5bnRoZXNpcyBpcyBnYXNlb3VzLCBtb2xlY3VsYXIgb3h5Z2VuIHRoYXQgY2FuIGJlY29tZSBkaXNzb2x2ZWQgaW4gd2F0ZXIuIE5vdCBhbGwgcGxhbnRzIGFyZSBjcmVhdGVkIGVxdWFsLCBhcyBzb21lIG9mIHRoZW0gcHJvZHVjZSBtb3JlIG94eWdlbiB0aGFuIG90aGVycy48L3A+CjxmaWd1cmU+PGltZyBhbHQ9IkRpc3NvbHZlZCBPeHlnZW4gaW4gV2F0ZXIiIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vZGlzc29sdmVkLW94eWdlbi1waG90b3N5bnRoZXNpcy1pbi13YXRlci5qcGciIGRhdGEtYW1wLWhlaWdodD0iMzAwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSA0OiBEaXNzb2x2ZWQgb3h5Z2VuIGNhbiBvcmlnaW5hdGUgZnJvbSBwaG90b3N5bnRoZXNpcyAmIzgyMTE7IHRoaXMgcmVxdWlyZXMgd2F0ZXIsIGxpZ2h0LCBhbmQgY2FyYm9uIGRpb3hpZGUgJiM4MjExOyBvciBmcm9tIHRoZSBhdG1vc3BoZXJlLjwvZmlnY2FwdGlvbj4KPC9maWd1cmU+CjxwPlBsYW50cyBhbmQgYWxnYWUgcHJvZHVjZSBveHlnZW4gZHVyaW5nIHRoZSBkYXkgd2hlbiBwaG90b3N5bnRoZXNpcyBvY2N1cnMuIFRoZXkgYWxzbyBjb25zdW1lIGl0IGZvciByZXNwaXJhdGlvbiwgd2hpY2ggaXMgdGhlIHByb2Nlc3MgYnkgd2hpY2ggcGxhbnRzIGNvbnZlcnQgZ2x1Y29zZSAoaS5lLiwgdGhlIHN1Z2FyIHByb2R1Y2VkIGR1cmluZyBwaG90b3N5bnRoZXNpcykgYW5kIG94eWdlbiBpbnRvIHVzYWJsZSBjZWxsdWxhciBlbmVyZ3kuPHN1cD4xPC9zdXA+IFBsYW50cyBhbmQgYWxnYWUgcHJvZHVjZSBmYXIgbW9yZSBveHlnZW4gZHVyaW5nIHRoZSBkYXkgdGhhbiB0aGV5IGNvbnN1bWUuIEF0IG5pZ2h0LCBwbGFudHMgYW5kIGFsZ2FlIG5vIGxvbmdlciBwcm9kdWNlIG94eWdlbiwgYnV0IHRoZXkgY29udGludWUgdG8gY29uc3VtZSBpdC4gTWVhbndoaWxlLCBvdGhlciBvcmdhbmlzbXMgbGlrZSBmaXNoIGNvbnN1bWUgb3h5Z2VuIGF0IGEgc3RlYWR5IHJhdGUgYXJvdW5kIHRoZSBjbG9jay48L3A+CjxwPlNvLCBpbiBhIGhlYWx0aHkgc3lzdGVtLCBveHlnZW4gY29uY2VudHJhdGlvbnMgcmlzZSB0aHJvdWdob3V0IHRoZSBkYXkgYW5kIGRlY2xpbmUgYXQgbmlnaHQgd2hlbiByZXNwaXJhdG9yeSBhY3Rpdml0eSBjb25zdW1lcyB0aGF0IG94eWdlbi48L3A+CjxmaWd1cmU+PGltZyBhbHQ9IkRpc3NvbHZlZCBPeHlnZW4gQ29uY2VudHJhdGlvbiBJbmNyZWFzZSIgb2JqZWN0aWQ9ImNmM2I3MzI3LTZlNTktNDdhOC1hZWViLTgzNGEyZGQyZTBhMSIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9veHlnZW4tY29uY2VudHJhdGlvbi1pbi13YXRlci5qcGciIGRhdGEtYW1wLWhlaWdodD0iNDUwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSA1OiBPeHlnZW4gY29uY2VudHJhdGlvbiBpbmNyZWFzZSB0aHJvdWdob3V0IHRoZSBkYXkgaW4gYSB0eXBpY2FsIHdhdGVyIGJvZHkgYXMgcGxhbnRzIGFuZCBhbGdhZSBwcm9kdWNlIG94eWdlbiBhcyBhIGJ5cHJvZHVjdCBvZiBwaG90b3N5bnRoZXNpcy48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8ZmlndXJlPjxpbWcgYWx0PSJveHlnZW4gY29uY2VudHJhdGlvbiBkZWNyZWFzZSIgb2JqZWN0aWQ9ImNmM2I3MzI3LTZlNTktNDdhOC1hZWViLTgzNGEyZGQyZTBhMSIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9veHlnZW4tY29uY2VudHJhdGlvbi1kZWNyZWFzZS1kaXNzb2x2ZWQtb3h5Z2VuLmpwZyIgZGF0YS1hbXAtaGVpZ2h0PSI0NTAiIGRhdGEtYW1wLXdpZHRoPSI2MDAiPjxicj4KPGZpZ2NhcHRpb24+PGEgaWQ9ImVudmlyb25tZW50YWwtdmFyaWFibGVzIj48L2E+RmlndXJlIDY6IE94eWdlbiBjb25jZW50cmF0aW9uIGRlY3JlYXNlIHRocm91Z2hvdXQgdGhlIG5pZ2h0IGFzIHBsYW50cywgYWxnYWUsIGFuZCBvcmdhbmlzbXMgc3VjaCBhcyBmaXNoIGNvbnN1bWUgb3h5Z2VuIGZvciByZXNwaXJhdGlvbi4gRHVlIHRvIHRoZSBhYnNlbmNlIG9mIHN1bmxpZ2h0LCBubyBwaG90b3N5bnRoZXNpcyBvY2N1cnMuPC9maWdjYXB0aW9uPgo8L2ZpZ3VyZT48L2Rpdj5kZAIDD2QWAgUFY3RsMDAPDxYCHwgFzi0KPGRpdj48aDM+V2hhdCBFbnZpcm9ubWVudGFsIFZhcmlhYmxlcyBBZmZlY3QgRGlzc29sdmVkIE94eWdlbj88L2gzPgo8cD48YSBpZD0idGVtcGVyYXR1cmUiPjwvYT5EaXNzb2x2ZWQgb3h5Z2VuIGNvbmNlbnRyYXRpb25zIGluIHdhdGVyIGFyZSBhZmZlY3RlZCBieSB0ZW1wZXJhdHVyZSwgYmFyb21ldHJpYyBwcmVzc3VyZSwgYW5kIHNhbGluaXR5LjwvcD4KPGg0PlRlbXBlcmF0dXJlPC9oND4KPHA+VGhlIG1vc3Qgc2lnbmlmaWNhbnQgdmFyaWFibGUgaXMgdGVtcGVyYXR1cmUsIHNvIGl0IGlzIGVzc2VudGlhbCB0byBtZWFzdXJlIGl0IGluIGNvbmp1bmN0aW9uIHdpdGggZGlzc29sdmVkIG94eWdlbi48L3A+CjxwPlRoZSBzb2x1YmlsaXR5IG9mIG94eWdlbiBpbiB3YXRlciBpcyBpbnZlcnNlbHkgcmVsYXRlZCB0byB0ZW1wZXJhdHVyZSAmIzgyMTE7IGFzIHRlbXBlcmF0dXJlIGluY3JlYXNlcywgRE8gZGVjcmVhc2VzLiBUaGVyZWZvcmUsIGEgd2F0ZXIgYm9keSBpbiB3aW50ZXIgd2lsbCBoYXZlIGEgaGlnaGVyIERPIGNvbmNlbnRyYXRpb24gdGhhbiBpbiBzdW1tZXIsIGFzc3VtaW5nIG90aGVyIHZhcmlhYmxlcyBhcmUgaGVsZCBjb25zdGFudC4gVGhlIHNhbWUgYXBwbGllcyB0byBuaWdodHRpbWUgJiM4MjExOyBhcyBhIHdhdGVyIGJvZHkgY29vbHMgb3Zlcm5pZ2h0LCBtb3JlIG94eWdlbiBjYW4gYmUgZGlzc29sdmVkLiBIb3dldmVyLCBpdCBpcyBpbXBvcnRhbnQgdG8ga2VlcCBpbiBtaW5kIHRoZSBpbXBhY3QgcGhvdG9zeW50aGVzaXMgYW5kIHJlc3BpcmF0aW9uIGhhdmUgb24gRE8gY29uY2VudHJhdGlvbnMgZHVyaW5nIHRoZSBkYXkgYW5kIG5pZ2h0ICYjODIxMTsgc2VlIEZpZ3VyZSA1IGFuZCA2LjwvcD4KPGZpZ3VyZT48aW1nIGFsdD0iT3h5Z2VuIGluIFdhdGVyIFJlbGF0ZWQgdG8gVGVtcGVyYXR1cmUiIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vc29sdWJpbGl0eS1vZi1veHlnZW4taW4td2F0ZXItaW52ZXJzZWx5LXJlbGF0ZWQtdG8tdGVtcGVyYXR1cmUuanBnIiBkYXRhLWFtcC1oZWlnaHQ9IjI1MCIgZGF0YS1hbXAtd2lkdGg9IjYwMCI+PGJyPgo8ZmlnY2FwdGlvbj48YSBpZD0ic2FsaW5pdHkiPjwvYT5GaWd1cmUgNzogVGVtcGVyYXR1cmUgc2hvdWxkIGFsd2F5cyBiZSBtZWFzdXJlZCB3aGVuIGNvbGxlY3RpbmcgZGlzc29sdmVkIG94eWdlbiBkYXRhLiBBcyB0ZW1wZXJhdHVyZSBpbmNyZWFzZXMsIHRoZSBzb2x1YmlsaXR5IG9mIG94eWdlbiBpbiB3YXRlciBkZWNyZWFzZXMuPC9maWdjYXB0aW9uPgo8L2ZpZ3VyZT4KPGg0PlNhbGluaXR5PC9oND4KPHA+TGlrZSB0ZW1wZXJhdHVyZSwgdGhlIHNvbHViaWxpdHkgb2Ygb3h5Z2VuIGluIHdhdGVyIGlzIGludmVyc2VseSByZWxhdGVkIHRvIHNhbGluaXR5ICYjODIxMTsgYXMgc2FsaW5pdHkgaW5jcmVhc2VzLCBETyBkZWNyZWFzZXMuPC9wPgo8ZmlndXJlPjxpbWcgYWx0PSJveHlnZW4gaW4gd2F0ZXIgcmVsYXRlZCB0byBzYWxpbml0eSIgb2JqZWN0aWQ9ImNmM2I3MzI3LTZlNTktNDdhOC1hZWViLTgzNGEyZGQyZTBhMSIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9veHlnZW4taW4td2F0ZXItcmVsYXRlZC10by1zYWxpbml0eS5qcGciIGRhdGEtYW1wLWhlaWdodD0iMjUwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSA4OiBTYWxpbml0eSBzaG91bGQgYmUgYWNjb3VudGVkIGZvciB3aGVuIHRha2luZyBETyBtZWFzdXJlbWVudHMsIGFzIHNhbGluZSB3YXRlciBjYW4gaG9sZCBsZXNzIG94eWdlbiB0aGFuIGZyZXNod2F0ZXIuPC9maWdjYXB0aW9uPgo8L2ZpZ3VyZT4KPHA+Rm9yIGluc3RhbmNlLCBzZWF3YXRlciBjYW4gaG9sZCBhYm91dCAyMCUgbGVzcyBveHlnZW4gdW5kZXIgdGhlIHNhbWUgdGVtcGVyYXR1cmUgYW5kIGF0bW9zcGhlcmljIHByZXNzdXJlIGFzIGZyZXNod2F0ZXIuIFRoZXJlZm9yZSwgaXQgaXMgY3JpdGljYWwgdG8gbWVhc3VyZSBzYWxpbml0eSAmIzgyMTE7IHRoaXMgaXMgZG9uZSB3aXRoIGEgY29uZHVjdGl2aXR5IHNlbnNvciAmIzgyMTE7IHdoZW4gY29sbGVjdGluZyBETyBkYXRhIGluIGVzdHVhcmllcywgd2V0bGFuZHMsIGNvYXN0YWwgYXJlYXMsIGFxdWFjdWx0dXJlLCBvciBhbnkgb3RoZXIgYXBwbGljYXRpb24gd2hlcmUgc2FsaW5pdHkgY2FuIHZhcnkuIFNlZSB0aGUgPGEgaHJlZj0iI2NvbXBhcmUtZG8tdW5pdHMiPkNvbXBhcmluZyBEaXNzb2x2ZWQgT3h5Z2VuIE1lYXN1cmVtZW50IFVuaXRzPC9hPiBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBpbXBhY3Qgb2Ygc2FsaW5pdHkgb24gRE8uPC9wPgo8cD5Nb3N0IG1vZGVybiBETyBpbnN0cnVtZW50cywgc3VjaCBhcyB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9wcm9kc3MiPllTSSBQcm9EU1M8L2E+LCB3aWxsIHByb3ZpZGUgcmVhbC10aW1lIHNhbGluaXR5LWNvbXBlbnNhdGVkIERPIG1lYXN1cmVtZW50cyBpZiBhIGNvbmR1Y3Rpdml0eSBhbmQgRE8gc2Vuc29yIGFyZSBjb25uZWN0ZWQuIE90aGVyd2lzZSwgc2FsaW5pdHkgd2lsbCBoYXZlIHRvIGJlIGVudGVyZWQgaW50byB0aGUgbWV0ZXIgZm9yIHRoaXMgY29tcGVuc2F0aW9uIHRvIG9jY3VyLjwvcD4KPGZpZ3VyZT48aW1nIGFsdD0iZGlzc29sdmVkIG94eWdlbiBtZWFzdXJlbWVudCBpbiBzYWxpbmUgd2F0ZXIiIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vZGlzc29sdmVkLW94eWdlbi1tZWFzdXJlbWVudC1pbi1zYWxpbmUtd2F0ZXIuanBnIiBkYXRhLWFtcC1oZWlnaHQ9IjMwMCIgZGF0YS1hbXAtd2lkdGg9IjYwMCI+PGJyPgo8ZmlnY2FwdGlvbj48YSBpZD0iYmFyb21ldHJpYy1wcmVzc3VyZSI+PC9hPkZpZ3VyZSA5OiBXaGVuIG1lYXN1cmluZyBkaXNzb2x2ZWQgb3h5Z2VuIGluIHNhbGluZSB3YXRlciwgWVNJIHN0cm9uZ2x5IHJlY29tbWVuZHMgdXNpbmcgYW4gaW5zdHJ1bWVudCB3aXRoIERPIGFuZCBjb25kdWN0aXZpdHkgc2Vuc29ycy4gVGhpcyBzZXR1cCB3aWxsIGFsbG93IGZvciByZWFsLXRpbWUgc2FsaW5pdHkgY29tcGVuc2F0aW9uLjwvZmlnY2FwdGlvbj4KPC9maWd1cmU+CjxoND5CYXJvbWV0cmljIFByZXNzdXJlPC9oND4KPHA+VW5saWtlIHRlbXBlcmF0dXJlIGFuZCBzYWxpbml0eSwgdGhlcmUgaXMgYSBkaXJlY3QgcmVsYXRpb25zaGlwIGJldHdlZW4gYmFyb21ldHJpYyBwcmVzc3VyZSBhbmQgRE8gbGV2ZWxzIGluIHdhdGVyICYjODIxMTsgYXMgcHJlc3N1cmUgZGVjcmVhc2VzLCBETyBkZWNyZWFzZXMuPC9wPgo8ZmlndXJlPjxpbWcgYWx0PSJkaXNzb2x2ZWQgb3h5Z2VuIGJhcm9tZXRyaWMgcHJlc3N1cmUgaW4gd2F0ZXIiIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vZGlzc29sdmVkLW94eWdlbi1hbmQtYmFyb21ldHJpYy1wcmVzc3VyZS1pbi13YXRlci5qcGciIGRhdGEtYW1wLWhlaWdodD0iMzAwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSAxMDogQmFyb21ldHJpYyBwcmVzc3VyZSBpcyBhbm90aGVyIHZhcmlhYmxlIHRoYXQgaW1wYWN0cyBETyByZWFkaW5ncy4gQXQgaGlnaGVyIGVsZXZhdGlvbnMsIHRoZXJlJ3MgbGVzcyBwcmVzc3VyZSB0byBwdXNoIG94eWdlbiBmcm9tIHRoZSBhdG1vc3BoZXJlIGludG8gd2F0ZXIuPC9maWdjYXB0aW9uPgo8L2ZpZ3VyZT4KPHA+QXQgbG93ZXIgZWxldmF0aW9ucywgdGhlIGJhcm9tZXRyaWMgcHJlc3N1cmUgaXMgaGlnaCwgc28gdGhlcmUgaXMgbW9yZSBwcmVzc3VyZSB0byBwdXNoIGdhc2VvdXMgb3h5Z2VuIGZyb20gdGhlIGF0bW9zcGhlcmUgaW50byB3YXRlci4gQnV0IGF0IGhpZ2hlciBlbGV2YXRpb25zLCB0aGUgYmFyb21ldHJpYyBwcmVzc3VyZSBpcyBtdWNoLCBtdWNoIGxvd2VyLjwvcD4KPGZpZ3VyZT48aW1nIGFsdD0ib3h5Z2VuIGluIHdhdGVyIGxvdyBlbGV2YXRpb24iIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vb3h5Z2VuLWluLXdhdGVyLWJhcm9tZXRyaWMtcHJlc3N1cmUtYXQtbG93LWVsZXZhdGlvbnMuanBnIiBkYXRhLWFtcC1oZWlnaHQ9IjMwMCIgZGF0YS1hbXAtd2lkdGg9IjYwMCI+PGJyPgo8ZmlnY2FwdGlvbj5GaWd1cmUgMTE6IFRoZSBsb3dlc3QgcG9pbnQgaW4gdGhlIFVuaXRlZCBTdGF0ZXMgaXMgQmFkd2F0ZXIgQmFzaW4gaW4gRGVhdGggVmFsbGV5IE5hdGlvbmFsIFBhcmsuIEJlY2F1c2UgdGhlcmUncyBzbyBtdWNoIGF0bW9zcGhlcmUgYWJvdmUgQmFkd2F0ZXIgQmFzaW4sIHRoZXJlIGlzIGEgbG90IG9mIHByZXNzdXJlIHB1c2hpbmcgb3h5Z2VuIGludG8gdGhlIHdhdGVyLjwvZmlnY2FwdGlvbj4KPC9maWd1cmU+CjxmaWd1cmU+PGltZyBhbHQ9ImJhcm9tZXRyaWMgcHJlc3N1cmUgY2hhbmdlIGRpc3NvbHZlZCBveHlnZW4gdGVzdGluZyIgb2JqZWN0aWQ9ImNmM2I3MzI3LTZlNTktNDdhOC1hZWViLTgzNGEyZGQyZTBhMSIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9iYXJvbWV0cmljLXByZXNzdXJlLWNoYW5nZS1kaXNzb2x2ZWQtb3h5Z2VuLXRlc3Rpbmctd2F0ZXIuanBnIiBkYXRhLWFtcC1oZWlnaHQ9IjMwMCIgZGF0YS1hbXAtd2lkdGg9IjYwMCI+PGJyPgo8ZmlnY2FwdGlvbj5GaWd1cmUgMTI6IE10LiBXaGl0bmV5LCBsb2NhdGVkIGp1c3QgODAgbWlsZXMgZnJvbSBCYWR3YXRlciBCYXNpbiwgaXMgdGhlIHRhbGxlc3QgbW91bnRhaW4gaW4gdGhlIGNvbnRpZ3VvdXMgVW5pdGVkIFN0YXRlcy4gQXQgaGlnaCBlbGV2YXRpb25zIHN1Y2ggYXMgdGhlc2UsIHdhdGVyIChpZiBub3QgZnJvemVuISkgd2lsbCBoYXZlIHJlbGF0aXZlbHkgbGl0dGxlIERPIGJlY2F1c2UgdGhlcmUncyBub3QgbXVjaCBhdG1vc3BoZXJlIGFib3ZlIGEgd2F0ZXIgYm9keSBwdXNoaW5nIG94eWdlbiBpbnRvIGl0LjwvZmlnY2FwdGlvbj4KPC9maWd1cmU+CjxwPkluIGFkZGl0aW9uIHRvIGFsdGl0dWRlLCBiYXJvbWV0cmljIHByZXNzdXJlIGNhbiBjaGFuZ2UgZHVlIHRvIGEgY2hhbmdlIGluIHdlYXRoZXIuIEEgcXVpY2sgcHJlc3N1cmUgZHJvcCBjYW4gaW5kaWNhdGUgYSBzdG9ybSBpcyBvbiB0aGUgd2F5LiBNb3N0IG1vZGVybiBETyBpbnN0cnVtZW50cyBoYXZlIGEgYnVpbHQtaW4gYmFyb21ldHJpYyBwcmVzc3VyZSBzZW5zb3IgdGhhdCB3aWxsIGF1dG9tYXRpY2FsbHkgY29tcGVuc2F0ZSBETyByZWFkaW5ncyBmb3IgYmFyb21ldHJpYyBwcmVzc3VyZSBjaGFuZ2VzLjwvcD4KPHA+PGEgaWQ9InVuaXRzLW1lYXN1cmUtZG8iPjwvYT5TZWUgdGhlIDxhIGhyZWY9IiNjb21wYXJlLWRvLXVuaXRzIj5Db21wYXJpbmcgRGlzc29sdmVkIE94eWdlbiBNZWFzdXJlbWVudCBVbml0czwvYT4gc2VjdGlvbiB0byBzZWUgdGhlIGltcGFjdCBvZiBiYXJvbWV0cmljIHByZXNzdXJlIG9uIERPIHJlYWRpbmdzLjwvcD48L2Rpdj5kZAIED2QWAgUFY3RsMDAPDxYCHwgFrSkKPGRpdj48aDM+V2hhdCBVbml0cyBhcmUgVXNlZCBXaGVuIE1lYXN1cmluZyBEaXNzb2x2ZWQgT3h5Z2VuPzwvaDM+CjxwPkRPIGlzIGV4cHJlc3NlZCBpbiBtYW55IGRpZmZlcmVudCB1bml0cywgYnV0IG1vc3Qgb2Z0ZW4gaW4gbWcvTCBvciAlIHNhdHVyYXRpb24gKERPJSkuIFRoZSB1bml0IG1nL0wgaXMgc3RyYWlnaHRmb3J3YXJkLCBhcyBpdCBpcyB0aGUgbWlsbGlncmFtcyBvZiBnYXNlb3VzIG94eWdlbiBkaXNzb2x2ZWQgaW4gYSBsaXRlciBvZiB3YXRlci48L3A+CjxwPlRoZSBiZXN0IHBsYWNlIHRvIHN0YXJ0IHdoZW4gZXhwbGFpbmluZyAlIHNhdHVyYXRpb24gaXMgd2l0aCB0aGUgYXRtb3NwaGVyZSAmIzgyMTE7IGFwcHJveGltYXRlbHkgMjElIG9mIHRoZSBlYXJ0aCdzIGF0bW9zcGhlcmUgaXMgb3h5Z2VuLiBBbm90aGVyIGNvbnNpZGVyYXRpb24gaXMgdGhlIGJhcm9tZXRyaWMgcHJlc3N1cmUgYXQgc2VhIGxldmVsLCB3aGljaCBpcyBlcXVhbCB0byA3NjAgbWlsbGltZXRlcnMgb2YgbWVyY3VyeS4gVGhlIHBhcnQgb2YgdGhlIG92ZXJhbGwgcHJlc3N1cmUgY2F1c2VkIGJ5IG94eWdlbiAmIzgyMTE7IHRlcm1lZCBwYXJ0aWFsIHByZXNzdXJlICYjODIxMTsgaXMgZXF1YWwgdG8gMTYwIG1tSGcgKDIxJSAqIDc2MCBtbUhnID0gMTYwIG1tSGcpLjwvcD4KPGZpZ3VyZT48aW1nIGFsdD0iZGlzc29sdmVkIG94eWdlbiBzYXR1cmF0aW9uIGluIHdhdGVyIiBvYmplY3RpZD0iY2YzYjczMjctNmU1OS00N2E4LWFlZWItODM0YTJkZDJlMGExIiBzcmM9Imh0dHBzOi8vd3d3LnlzaS5jb20vaW1hZ2UlMjBsaWJyYXJ5L3BhcmFtZXRlcnMvZGlzc29sdmVkJTIwb3h5Z2VuL2Rpc3NvbHZlZC1veHlnZW4td2F0ZXItc2F0dXJhdGlvbi1hdG1vc3BoZXJlLmpwZyIgZGF0YS1hbXAtaGVpZ2h0PSIzMDAiIGRhdGEtYW1wLXdpZHRoPSI2MDAiPjxicj4KPGZpZ2NhcHRpb24+RmlndXJlIDEzOiBBcHByb3hpbWF0ZWx5IDIxJSBvZiB0aGUgZWFydGgncyBhdG1vc3BoZXJlIGlzIG94eWdlbiwgbWFraW5nIGl0IHRoZSBzZWNvbmQtbW9zdCBhYnVuZGFudCBnYXMgYmVoaW5kIG5pdHJvZ2VuICg3OCUpLjwvZmlnY2FwdGlvbj4KPC9maWd1cmU+CjxwPklmIGEgRE8gc2Vuc29yIGlzIGNhbGlicmF0ZWQgYXQgc2VhIGxldmVsLCBpdCBzaG91bGQgY2FsaWJyYXRlIHRvIGEgcGVyY2VudCBzYXR1cmF0aW9uIG9mIDEwMCUsIGFzc3VtaW5nIHRoZSB3YXRlciBhbmQgYWlyIGFyZSBpbiBlcXVpbGlicml1bS4gQnV0IHdoYXQgaWYgdGhlIGJhcm9tZXRyaWMgcHJlc3N1cmUgaXMgbGVzcyB0aGFuIDc2MCBtbUhnPyBXaGF0IHdpbGwgdGhlIHNlbnNvciBjYWxpYnJhdGUgdG8/PC9wPgo8cD5MZXQncyBzYXkgdGhlIGJhcm9tZXRyaWMgcHJlc3N1cmUgZGV0ZXJtaW5lZCBieSBhIG1ldGVyIGlzIDc1MCBtbUhnLiBUbyBkZXRlcm1pbmUgd2hhdCB0aGUgc2Vuc29yIHdpbGwgY2FsaWJyYXRlIHRvLCBkaXZpZGUgNzUwIG1tSGcgYnkgNzYwIG1tSGc7IHRoaXMgZXF1YWxzIDk4LjY4JSAoNzUwIG1tSGcgLyA3NjAgbW1IZyA9IDk4LjY4JSkuIEF0IHRoaXMgcHJlc3N1cmUsIHNhdHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiA5OC42OCUgYXMgbG9uZyBhcyB3YXRlciBhbmQgYWlyIGFyZSBpbiBlcXVpbGlicml1bS4gVGhlcmVmb3JlLCB0aGUgc2Vuc29yIHdpbGwgY2FsaWJyYXRlIHRvIDk4LjY4JS48L3A+CjxwPlNvbWUgbWF5IHdpc2ggdG8gcmVwb3J0IDxlbT5Mb2NhbCBETzwvZW0+IHdoZXJlIHRoZSBjYWxpYnJhdGlvbiB2YWx1ZSBpcyAxMDAlIHJlZ2FyZGxlc3Mgb2YgdGhlIGJhcm9tZXRyaWMgcHJlc3N1cmUgYXQgdGhlIHRpbWUgb2YgY2FsaWJyYXRpb24uIFRoZSAxMDAlIGNhbGlicmF0aW9uIHZhbHVlIHJlZmxlY3RzIHRoYXQgdGhlIGNhbGlicmF0aW9uIGVudmlyb25tZW50IGlzIGF0IDEwMCUgb3h5Z2VuIHByZXNzdXJlIGZvciB0aGF0IHNwZWNpZmljIGxvY2F0aW9uLiBTZXZlcmFsIFlTSSBpbnN0cnVtZW50cyBhcmUgY2FwYWJsZSBvZiByZXBvcnRpbmcgTG9jYWwgPGEgaWQ9ImNvbXBhcmUtZG8tdW5pdHMiPjwvYT5ETy48L3A+CjxoND5Db21wYXJpbmcgRGlzc29sdmVkIE94eWdlbiBNZWFzdXJlbWVudCBVbml0czwvaDQ+CjxwPllvdSBjYW4gdGhpbmsgb2YgZGlzc29sdmVkIG94eWdlbiBwZXJjZW50IChETyUpIGFzIHRoZSB1bml0IGJlaW5nIGRldGVybWluZWQgZGlyZWN0bHkgYnkgYW55IGluc3RydW1lbnQgdGhhdCB1c2VzIGFuIDxhIGhyZWY9IiNlbGVjdHJvY2hlbWljYWwtc2Vuc29ycyI+RWxlY3Ryb2NoZW1pY2FsIFNlbnNvcjwvYT4gb3IgPGEgaHJlZj0iI29wdGljYWwtc2Vuc29ycyI+T3B0aWNhbCBTZW5zb3I8L2E+LiBUaGUgb25seSB2YXJpYWJsZSB0aGF0IGltcGFjdHMgRE8lIGlzIGJhcm9tZXRyaWMgcHJlc3N1cmUsIGFzIGNhbiBiZSBzZWVuIGluIFRhYmxlIDEgYmVsb3cuPC9wPgo8ZmlndXJlPgo8ZmlnY2FwdGlvbj5UYWJsZSAxOiBETyUgdmFsdWVzIGF0IHZhcnlpbmcgYmFyb21ldHJpYyBwcmVzc3VyZXMuPC9maWdjYXB0aW9uPgo8aW1nIGFsdD0iZGlzc29sdmVkIG94eWdlbiB2YWx1ZXMiIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vZGlzc29sdmVkLW94eWdlbi12YWx1ZXMtYXQtdmFyeWluZy1iYXJvbWV0cmljLXByZXNzdXJlLmpwZyIgZGF0YS1hbXAtaGVpZ2h0PSIyNTAiIGRhdGEtYW1wLXdpZHRoPSI2MDAiPjwvZmlndXJlPgo8cD5JbiBjb250cmFzdCwgRE8gbWcvTCBpcyBjYWxjdWxhdGVkIGJ5IHRoZSBpbnN0cnVtZW50IGZyb20gRE8lLCB0ZW1wZXJhdHVyZSwgYW5kIHNhbGluaXR5LiBUYWJsZSAyIGJlbG93IGRlbW9uc3RyYXRlcyB0aGUgaW1wYWN0IG9mIHZhcnlpbmcgdGVtcGVyYXR1cmVzIGFuZCBzYWxpbml0aWVzLjwvcD4KPGZpZ3VyZT4KPGZpZ2NhcHRpb24+PGEgaWQ9ImRvLXN1cGVyc2F0dXJhdGlvbiI+PC9hPlRhYmxlIDI6IERPIG1nL0wgdmFsdWVzIGF0IHZhcnlpbmcgdGVtcGVyYXR1cmVzIGFuZCBzYWxpbml0aWVzLjwvZmlnY2FwdGlvbj4KPGltZyBhbHQ9ImRpc3NvbHZlZCBveHlnZW4gdmFsdWVzIHRlbXBlcmF0dXJlIHNhbGluaXR5IiBvYmplY3RpZD0iY2YzYjczMjctNmU1OS00N2E4LWFlZWItODM0YTJkZDJlMGExIiBzcmM9Imh0dHBzOi8vd3d3LnlzaS5jb20vaW1hZ2UlMjBsaWJyYXJ5L3BhcmFtZXRlcnMvZGlzc29sdmVkJTIwb3h5Z2VuL2Rpc3NvbHZlZC1veHlnZW4tdmFsdWVzLWF0LXZhcnlpbmctdGVtcGVyYXR1cmUtc2FsaW5pdHkuanBnIiBkYXRhLWFtcC1oZWlnaHQ9IjI1MCIgZGF0YS1hbXAtd2lkdGg9IjYwMCI+PC9maWd1cmU+CjxoND5XaGF0IGlzIERpc3NvbHZlZCBPeHlnZW4gU3VwZXJzYXR1cmF0aW9uPzwvaDQ+CjxwPkRpc3NvbHZlZCBveHlnZW4gcGVyY2VudCB2YWx1ZXMgaW4gdGhlIG5hdHVyYWwgZW52aXJvbm1lbnQgY2FuIHJlYWNoIG92ZXIgMTAwJSwgYnV0IGhvdyBpcyB0aGlzIHBvc3NpYmxlPzwvcD4KPHA+UGhvdG9zeW50aGVzaXMgY2FuIGJlIGEgc2lnbmlmaWNhbnQgZHJpdmVyIG9mIHN1cGVyc2F0dXJhdGlvbiwgYXMgdGhpcyBwcm9jZXNzIHByb2R1Y2VzIHB1cmUgb3h5Z2VuLiBTb21ldGltZXMgaXQgY2FuIGV2ZW4gYWNjb3VudCBmb3IgRE8lIHZhbHVlcyB1cCB0byA1MDAlITwvcD4KPGZpZ3VyZT48aW1nIGFsdD0iZGlzc29sdmVkIG94eWdlbiB0ZXN0aW5nIHNhdHVyYXRpb24iIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vZGlzc29sdmVkLW94eWdlbi10ZXN0aW5nLXNhdHVyYXRpb24uanBnIiBkYXRhLWFtcC1oZWlnaHQ9IjI1MCIgZGF0YS1hbXAtd2lkdGg9IjYwMCI+CjxmaWdjYXB0aW9uPkZpZ3VyZSAxNDpQaG90b3N5bnRoZXNpcyBwcm9kdWNlcyBwdXJlIG94eWdlbi4gSWYgdGhlcmUncyBlbm91Z2ggcGhvdG9zeW50aGV0aWMgYWN0aXZpdHkgaW4gYSB3YXRlciBib2R5LCBETyUgdmFsdWVzIGNhbiByZWFjaCB3ZWxsIG92ZXIgMTAwJS48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8cD5Bbm90aGVyIGNhdXNlIGlzIHJhcGlkIHRlbXBlcmF0dXJlIGNoYW5nZXMuIFdoaWxlIHRoZSBlcXVpbGlicmF0aW9uIG9mIHdhdGVyIHdpdGggdGhlIGFpciBhYm92ZSBpdCBpcyBzZWxkb20gcmFwaWQsIHRoZSB0ZW1wZXJhdHVyZSBvZiBhIHdhdGVyIGJvZHkgY2FuIGNoYW5nZSByYXBpZGx5LiBTbywgbGV0J3Mgc2F5IHRoZSB0ZW1wZXJhdHVyZSBvZiBhIHN0YWduYW50IGxha2UgcXVpY2tseSBpbmNyZWFzZXMgYnkgNSBkZWdyZWVzIG9uY2UgdGhlIHN1biBzdGFydHMgc2hpbmluZy4gRE8gbGV2ZWxzIGluIHdhdGVyIHNob3VsZCBkZWNyZWFzZSBhcyB0ZW1wZXJhdHVyZSBpbmNyZWFzZXMuIEhvd2V2ZXIsIGlmIHRoZSBlcXVpbGlicmF0aW9uIGJldHdlZW4gYWlyIGFuZCB3YXRlciBpcyBub3QgYXMgcmFwaWQgYXMgdGhlIHRlbXBlcmF0dXJlIGNoYW5nZSwgdGhlIGxha2Ugd2lsbCB0ZWNobmljYWxseSBiZSBzdXBlcnNhdHVyYXRlZCB3aXRoIERPIHVudGlsIGFuIGVxdWlsaWJyaXVtIHN0YXRlIGlzIG9uY2UgYWdhaW4gZXN0YWJsaXNoZWQuPC9wPgo8cD5Bbm90aGVyIGNhdXNlIG9mIHN1cGVyc2F0dXJhdGlvbiBpcyB0dXJidWxlbnQgY29uZGl0aW9ucyBvciBhbnl0aGluZyBlbHNlIHRoYXQgY2FuIGNhdXNlIG1peGluZyBvZiB0aGUgYWlyIGFuZCB3YXRlciAoZS5nLiwgYWlyIHN0b25lcywgd2hpdGV3YXRlciByYXBpZHMpLjwvcD4KPHA+PGEgaWQ9IndoeS1tZWFzdXJlLWRvLWluLXdhdGVyIj48L2E+VG8gbGVhcm4gbW9yZSBhYm91dCBzdXBlcnNhdHVyYXRpb24sIGNoZWNrIG91dCBvdXIgdGVjaG5pY2FsIG5vdGUgb24gPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9maWxlJTIwbGlicmFyeS9kb2N1bWVudHMvdGVjaG5pY2FsJTIwbm90ZXMvdDYwMi1lbnZpcm9ubWVudGFsLWRpc3NvbHZlZC1veHlnZW4tdmFsdWVzLWFib3ZlLTEwMC1wZXJjZW50LWFpci1zYXR1cmF0aW9uLnBkZiIgdGl0bGU9IkVudmlyb25tZW50YWwgRGlzc29sdmVkIE94eWdlbiBWYWx1ZXMgQWJvdmUgMTAwIFBlcmNlbnQgQWlyIFNhdHVyYXRpb24iPkVudmlyb25tZW50YWwgRGlzc29sdmVkIE94eWdlbjogVmFsdWVzIEdyZWF0ZXIgVGhhbiAxMDAlIEFpciBTYXR1cmF0aW9uPC9hPi48L3A+PC9kaXY+ZGQCBQ9kFgIFBWN0bDAwDw8WAh8IBZJMCjxkaXY+PGgyPldoeSBNZWFzdXJlIERpc3NvbHZlZCBPeHlnZW4/PC9oMj4KPHA+RE8gaXMgb25lIG9mIHRoZSBtb3N0IGNvbW1vbmx5IG1lYXN1cmVkIHdhdGVyIHF1YWxpdHkgcGFyYW1ldGVycywgYnV0IHRoZSByZWFzb24gZm9yIG1lYXN1cmluZyBpdCB2YXJpZXMgYmFzZWQgb24gdGhlIDxhIGlkPSJtZWFzdXJlLWRvLXN1cmZhY2Utd2F0ZXItYXF1YWN1bHR1cmUiPjwvYT5lbnZpcm9ubWVudC48L3A+CjxoMz5XaHkgTWVhc3VyZSBEaXNzb2x2ZWQgT3h5Z2VuIGluIFN1cmZhY2UgV2F0ZXIgYW5kIEFxdWFjdWx0dXJlPzwvaDM+CjxwPkRpc3NvbHZlZCBveHlnZW4gaXMgYSBkaXJlY3QgaW5kaWNhdG9yIG9mIGEgd2F0ZXIgYm9keSdzIGFiaWxpdHkgdG8gc3VwcG9ydCBhcXVhdGljIGxpZmUgJiM4MjExOyBhcXVhdGljIG9yZ2FuaXNtcyBuZWVkIERPIHRvIHN1cnZpdmUhPC9wPgo8ZmlndXJlPjxpbWcgYWx0PSJEaXNzb2x2ZWQgT3h5Z2VuIExldmVscyBpbiBXYXRlciIgb2JqZWN0aWQ9ImNmM2I3MzI3LTZlNTktNDdhOC1hZWViLTgzNGEyZGQyZTBhMSIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9kaXNzb2x2ZWQtb3h5Z2VuLWxldmVscy1pbi13YXRlci1mb3ItbGlmZS5qcGciIGRhdGEtYW1wLWhlaWdodD0iMzAwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSAxNTogRmlzaCByZXF1aXJlIHN1ZmZpY2llbnQgbGV2ZWxzIG9mIGRpc3NvbHZlZCBveHlnZW4gdG8gc3Vydml2ZS4gTWFueSBzcGVjaWVzIGNhbm5vdCBzdXJ2aXZlIGlmIGNvbmNlbnRyYXRpb25zIGRyb3AgYmVsb3cgNCBtZy9MLjwvZmlnY2FwdGlvbj4KPC9maWd1cmU+CjxwPlRoZSBsZXZlbCBvZiBETyByZXF1aXJlZCB2YXJpZXMgYnkgc3BlY2llcy4gSW4gZ2VuZXJhbCwgbW9zdCBmaXNoIHNwZWNpZXMgd2lsbCBncm93IGFuZCB0aHJpdmUgd2l0aGluIGEgcmFuZ2Ugb2YgNS0xMiBtZy9MLiBIb3dldmVyLCBpZiBsZXZlbHMgZHJvcCBiZWxvdyA0IG1nL0wsIHRoZXkgbWF5IHN0b3AgZmVlZGluZyBhbmQgYmVjb21lIHN0cmVzc2VkLCBwb3NzaWJseSBsZWFkaW5nIHRvIGxhcmdlIGZpc2gga2lsbHMuIEh5cG94aWEgb2NjdXJzIHdoZW4gdGhlIGNvbmNlbnRyYXRpb24gb2YgZGlzc29sdmVkIG94eWdlbiBkZWNyZWFzZXMgdG8gYSBsZXZlbCB0aGF0IGNhbiBubyBsb25nZXIgc3VwcG9ydCBsaXZpbmcgYXF1YXRpYyBvcmdhbmlzbXMuPC9wPgo8cD5DaGVjayBvdXQgb3VyIGJsb2cgcG9zdCBvbiA8YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL3lzaS1ibG9nL3dhdGVyLWJsb2dnZWQtYmxvZy8yMDEzLzA0L3BvbmQtYmFzZWQtYXF1YWN1bHR1cmUtZGlzc29sdmVkLW94eWdlbi1tYW5hZ2VtZW50LWFuZC1yZWxhdGVkLWNvc3RzIj5EaXNzb2x2ZWQgT3h5Z2VuIE1hbmFnZW1lbnQgYW5kIFJlbGF0ZWQgQ29zdHMgaW4gUG9uZCBBcXVhY3VsdHVyZTwvYT4gdG8gbGVhcm4gbW9yZSBhYm91dCB0aGUgaW1wb3J0YW5jZSBvZiBtZWFzdXJpbmcgRE8gaW4gZmlzaCBmYXJtaW5nIGFuZCBvdGhlciBmb3JtcyBvZiBhcXVhY3VsdHVyZS4gV2UgYWxzbyBjcmVhdGVkIGEgPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9maWxlJTIwbGlicmFyeS9kb2N1bWVudHMvaW5mb2dyYXBoaWNzL2h5cG94aWEtaW5mb2dyYXBoaWMtMDMxNi5wZGYiIHRpdGxlPSJIeXBveGlhIFVuZGVyc3RhbmRpbmcgdGhlIFNpbGVudCBLaWxsZXIiPkh5cG94aWEgSW5mb2dyYXBoaWM8L2E+IHRoYXQgaGVscHMgZXhwbGFpbiBob3cgaHlwb3hpYSBvY2N1cnMgaW4gdGhlIGVudmlyb25tZW50LjwvcD4KPHA+QW4gaW1iYWxhbmNlIG9mIERPIG9jY3VycyB3aGVuIHRoZXJlIGlzIGEgPHN0cm9uZz48YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL2FwcGxpY2F0aW9ucy9oYXJtZnVsLWFsZ2FsLWJsb29tcy1oYWJzIj5oYXJtZnVsIGFsZ2FsIGJsb29tIChIQUIpPC9hPjwvc3Ryb25nPi4gRHVyaW5nIHRoZSBlYXJseSBhbmQgcGVhayBncm93dGggcGhhc2VzIG9mIGEgSEFCLCBETyBjYW4gaW5jcmVhc2Ugc2lnbmlmaWNhbnRseSBpbiB0aGUgdmljaW5pdHkgb2YgdGhlIGJsb29tIGR1ZSB0byBwaG90b3N5bnRoZXRpYyBhY3Rpdml0eSBkdXJpbmcgdGhlIGRheS4gTW9yZSBveHlnZW4gaXMgZ2VuZXJhdGVkIHRoYW4gY2FuIGJlIGNvbnN1bWVkIGJ5IGVpdGhlciB0aGUgYWxnYWUgb3IgdGhlIG90aGVyIG9yZ2FuaXNtcywgZGF5IG9yIG5pZ2h0ICYjODIxMTsgdGhpcyBjYW4gbGVhZCB0byBzdXBlcnNhdHVyYXRpb24uPC9wPgo8ZmlndXJlPjxpbWcgYWx0PSJveHlnZW4gaW4gd2F0ZXIgaGFybWZ1bCBhbGdhZSBibG9vbSIgb2JqZWN0aWQ9ImNmM2I3MzI3LTZlNTktNDdhOC1hZWViLTgzNGEyZGQyZTBhMSIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9oYXJtZnVsLWFsZ2FlLWJsb29tLW94eWdlbi1pbi13YXRlci5qcGciIGRhdGEtYW1wLWhlaWdodD0iMzAwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSAxNjogSGFybWZ1bCBhbGdhZSBibG9vbXMgKEhBQnMpIGFyZSBvZnRlbiBmZWQgYnkgbnV0cmllbnQgcnVub2ZmLiBCYWN0ZXJpYSBhbmQgb3RoZXIgb3JnYW5pc21zIGNvbnN1bWUgdGhlIGFsZ2FlIG9uY2UgdGhlIGJsb29tIGRpZXMsIGJ1dCB0aGlzIHJlcXVpcmVzIG94eWdlbi4gRE8gbGV2ZWxzIGNhbiBkcm9wIHNvIGxvdyBvbmNlIHRoZSBibG9vbSBkaWVzIHRoYXQgbGFyZ2UgZmlzaCBraWxscyBjYW4gcmVzdWx0Li48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8cD5BcyB0aGUgYmxvb20gZmFkZXMgYW5kIGRpZXMsIHRoZSBhbGdhZSBiZWNvbWUgZm9vZCBmb3IgYmFjdGVyaWEgYW5kIG90aGVyIHRoaW5ncyB0aGF0IGNvbnN1bWUgb3h5Z2VuLiBUaGlzIGNhbiBjYXVzZSBETyBsZXZlbHMgdG8gZHJvcCBkcmFzdGljYWxseSwgcmVzdWx0aW5nIGluIGh5cG94aWEuIENoZWNrIG91dCBvdXIgYmxvZyBwb3N0LCA8YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL3lzaS1ibG9nL3dhdGVyLWJsb2dnZWQtYmxvZy8yMDE2LzA5L2hhcm1mdWwtYWxnYWwtYmxvb21zLWV2ZXJ5dGhpbmcteW91LW5lZWQtdG8ta25vdyI+SEFCcyB8IEV2ZXJ5dGhpbmcgWW91IE5lZWQgdG8gS25vdzwvYT4sIHRvIGxlYXJuIG1vcmUhPC9wPgo8cD5MYXJnZSBmaXNoIGtpbGxzIGNhbiBhbHNvIHJlc3VsdCBmcm9tIDxzdHJvbmc+dGhlcm1hbCBwb2xsdXRpb248L3N0cm9uZz4gYXJvdW5kIHBvd2VyIHBsYW50cyBhbmQgaW5kdXN0cmlhbCBtYW51ZmFjdHVyZXJzLiBXaGlsZSB0aGUgZWZmbHVlbnQgZnJvbSB0aGVzZSBwbGFudHMgaXMgdHlwaWNhbGx5IGNsZWFuLCBpdCBpcyBvZnRlbiBtdWNoLCBtdWNoIHdhcm1lciB0aGFuIHRoZSBzdXJmYWNlIHdhdGVyIGl0IGVudGVycy4gQXMgdGVtcGVyYXR1cmUgaW5jcmVhc2VzLCB0aGUgbGV2ZWwgb2YgRE8gaW4gdGhlIHdhdGVyIGRlY3JlYXNlcy4gVGhlcmVmb3JlLCBhIHN1ZGRlbiBpbmZsdXggb2Ygd2FybSB3YXRlciBjYW4gcmVzdWx0IGluIGxhcmdlIGZpc2gga2lsbHMuPC9wPgo8ZmlndXJlPjxpbWcgYWx0PSJkaXNzb2x2ZWQgb3h5Z2VuIG1lYXN1cmVtZW50IHdhdGVyIHRlbXBlcmF0dXJlIiBvYmplY3RpZD0iY2YzYjczMjctNmU1OS00N2E4LWFlZWItODM0YTJkZDJlMGExIiBzcmM9Imh0dHBzOi8vd3d3LnlzaS5jb20vaW1hZ2UlMjBsaWJyYXJ5L3BhcmFtZXRlcnMvZGlzc29sdmVkJTIwb3h5Z2VuL2Rpc3NvbHZlZC1veHlnZW4tbWVhc3VyZW1lbnQtd2F0ZXItdGVtcGVyYXR1cmUuanBnIiBkYXRhLWFtcC1oZWlnaHQ9IjMwMCIgZGF0YS1hbXAtd2lkdGg9IjYwMCI+PGJyPgo8ZmlnY2FwdGlvbj5GaWd1cmUgMTc6IFdoZW4gaG90IHdhdGVyIGlzIHJlbGVhc2VkIGludG8gYSBzdXJmYWNlIHdhdGVyIGJvZHksIGRpc3NvbHZlZCBveHlnZW4gbGV2ZWxzIGRyb3AuIElmIHRoZSBETyBjb25jZW50cmF0aW9uIGRlY3JlYXNlcyB0b28gbXVjaCwgZmlzaCBraWxscyBjYW4gcmVzdWx0LiBUaGlzIGlzIGEgYmlnIGNvbmNlcm4gYXJvdW5kIHBvd2VyIHBsYW50cyBhbmQgaW5kdXN0cmlhbCBmYWNpbGl0aWVzLjwvZmlnY2FwdGlvbj4KPC9maWd1cmU+CjxwPlRoZXJtYWwgcG9sbHV0aW9uIGFuZCBIQUJzIGFyZW4ndCB0aGUgb25seSBldmVudHMgdGhhdCBlbmRhbmdlciBhcXVhdGljIG9yZ2FuaXNtcy4gPHN0cm9uZz5Sb2FkIHNhbHQ8L3N0cm9uZz4gaXMgY29tbW9ubHkgYXBwbGllZCB0byBpY3kgcm9hZHMgaW4gd2ludGVyLiBUaGlzIHNhbHQgcnVucyBvZmYgdGhlIHJvYWQgYW5kIGludG8gc3VyZmFjZSB3YXRlciBib2RpZXMsIGluY3JlYXNpbmcgc2FsaW5pdHkuIEFzIHNhbGluaXR5IGluY3JlYXNlcywgRE8gbGV2ZWxzIGRlY3JlYXNlLiBTbywgZXZlbiB0aG91Z2ggb3h5Z2VuIGlzIG1vcmUgc29sdWJsZSBpbiBjb2xkIHdhdGVyLCBoaWdoIHNhbGluaXR5IGNhbiByZXN1bHQgaW4gbGFyZ2UgZmlzaCBraWxscyBpbiB3aW50ZXIgZHVlIHRvIHN1ZmZvY2F0aW9uLjwvcD4KPGZpZ3VyZT48aW1nIGFsdD0iZGlzc29sdmVkIG94eWdlbiBtZWFzdXJlbWVudCBzYWxpbml0eSIgb2JqZWN0aWQ9ImNmM2I3MzI3LTZlNTktNDdhOC1hZWViLTgzNGEyZGQyZTBhMSIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9kaXNzb2x2ZWQtb3h5Z2VuLWRlY3JlYXNlLWZyb20tc2FsaW5pdHktZmlzaC1raWxsLmpwZyIgZGF0YS1hbXAtaGVpZ2h0PSIzMDAiIGRhdGEtYW1wLXdpZHRoPSI2MDAiPjxicj4KPGZpZ2NhcHRpb24+PGEgaWQ9Im1lYXN1cmUtZG8taW4tZ3JvdW5kd2F0ZXIiPjwvYT5GaWd1cmUgMTg6IFJvYWQgc2FsdCBkaXNzb2x2ZWQgaW4gYSBzdXJmYWNlIHdhdGVyIGJvZHkgY2FuIHdyZWFrIGhhdm9jIG9uIGFxdWF0aWMgb3JnYW5pc21zLCBhcyB0aGUgc2FsdCBjYXVzZXMgZGlzc29sdmVkIG94eWdlbiBjb25jZW50cmF0aW9ucyB0byBkZWNyZWFzZS48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8aDM+V2h5IE1lYXN1cmUgRGlzc29sdmVkIE94eWdlbiBpbiBHcm91bmR3YXRlcj88L2gzPgo8cD5NYW55IGFzc3VtZSBETyBpcyBhYnNlbnQgYmVsb3cgdGhlIHdhdGVyIHRhYmxlLCBidXQgdGhpcyBpcyBhbiBpbmNvcnJlY3QgYXNzdW1wdGlvbi4gQmVmb3JlIHdhdGVyIHBlcmNvbGF0ZXMgZG93bndhcmQgZnJvbSB0aGUgc3VyZmFjZSwgd2F0ZXIgaXMgaW4gY29udGFjdCB3aXRoIHRoZSBhdG1vc3BoZXJlLCBhbmQgb3h5Z2VuIGJlY29tZXMgZGlzc29sdmVkLiBETyBjYW4gZXhpc3QgYXQgZ3JlYXQgZGVwdGhzIGluIGFuIGFxdWlmZXIgYXMgbG9uZyBhcyB0aGVyZSBpcyBsaXR0bGUgb3Igbm8gb3hpZGl6YWJsZSBtYXRlcmlhbC48c3VwPjI8L3N1cD48L3A+CjxwPkRpc3NvbHZlZCBveHlnZW4gY2FuIGJlIGEgaGVscGZ1bCBwYXJhbWV0ZXIgdG8gbWVhc3VyZSB3aGVuIGNvbmR1Y3RpbmcgZ3JvdW5kd2F0ZXIgaW52ZXN0aWdhdGlvbnMuIERPIGNhbiBoZWxwIGRldGVybWluZSB3aGVuIHN0YWJsZSBjb25kaXRpb25zIGhhdmUgYmVlbiByZWFjaGVkIGR1cmluZyBwdXJnaW5nIGFuZCBjYW4gYmUgdXNlZCB0byBldmFsdWF0ZSB3ZWxsIGNvbnN0cnVjdGlvbi48L3A+CjxwPk1lYXN1cmluZyBETyBjYW4gYWxzbyBoZWxwIGVuc3VyZSBwcm9wZXIgZ3JvdW5kd2F0ZXIgc2FtcGxpbmcgcHJvY2VkdXJlcyBhcmUgYmVpbmcgZm9sbG93ZWQgd2hlbiBjb2xsZWN0aW5nIHNhbXBsZXMgZm9yIHRoZSBhbmFseXNpcyBvZiBtZXRhbCBhbmQgdm9sYXRpbGUgb3JnYW5pYyBjb21wb3VuZHMuIEFueSBhcnRpZmljaWFsIGFlcmF0aW9uIGNhbiBpbXBhY3QgbGFib3JhdG9yeSBhbmFseXNlcyBmb3IgdGhlc2UgY29tcG91bmRzLjxzdXA+Mzwvc3VwPjwvcD4KPHA+RE8gcGxheXMgYSBzaWduaWZpY2FudCByb2xlIGluIGNoZW1pY2FsIHJlYWN0aW9ucyB0aGF0IG9jY3VyIGluIHRoZSBzdWJzdXJmYWNlLiBJdCByZWd1bGF0ZXMgdGhlIHZhbGVuY2Ugc3RhdGUgb2YgdHJhY2UgbWV0YWxzIGFuZCBjb25zdHJhaW5zIHRoZSBtZXRhYm9saXNtIG9mIGRpc3NvbHZlZCBvcmdhbmljIGNvbXBvdW5kcyAoZS5nLiwgb2lsKSBieSBtaWNyb2Jlcy48c3VwPjQ8L3N1cD48L3A+CjxwPk1pY3JvYmVzIGNhbiBkZWdyYWRlIG9pbCB0aGF0IGhhcyBsZWFrZWQgaW50byBhbiBhcXVpZmVyLiBMaWtlIG90aGVyIG9yZ2FuaXNtcywgbWljcm9iZXMgbmVlZCB0byByZXNwaXJlIChpLmUuLCBicmVhdGhlKS4gUmVzcGlyYXRpb24gcmVxdWlyZXMgYW4gZWxlY3Ryb24gYWNjZXB0b3IsIGFuZCBzaW5jZSBveHlnZW4gaXMgdGhlIG1vc3QgcHJlZmVycmVkIG9uZSwgRE8gaXMgcXVpY2tseSBkZXBsZXRlZCB3aGVyZSB0aGVyZSBpcyBjb250YW1pbmF0aW9uIHByZXNlbnQuIFRoZXJlZm9yZSwgRE8gY2FuIG9ubHkgYmUgZm91bmQgb3V0c2lkZSBhIHBsdW1lIG9mIGNvbnRhbWluYXRlZCBncm91bmR3YXRlci48c3VwPjU8L3N1cD48L3A+CjxmaWd1cmU+PGltZyBhbHQ9ImRpc3NvbHZlZCBveHlnZW4gZ3JvdW5kd2F0ZXIgbWVhc3VyZW1lbnQiIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vZGlzc29sdmVkLW94eWdlbi1ncm91bmR3YXRlci1tZWFzdXJlbWVudC5qcGciIGRhdGEtYW1wLWhlaWdodD0iNDUwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSAxOTogRGlzc29sdmVkIG94eWdlbiBpcyB0aGUgcHJlZmVycmVkIGVsZWN0cm9uIGFjY2VwdG9yIHVzZWQgYnkgbWljcm9iZXMgZHVyaW5nIGJpb2RlZ3JhZGF0aW9uIG9mIG9yZ2FuaWMgY29udGFtaW5hdGlvbiBpbiB0aGUgc3Vic3VyZmFjZS4gT25jZSBpdCBpcyBkZXBsZXRlZCwgb3RoZXIgZWxlY3Ryb24gYWNjZXB0b3JzIGFyZSB1c2VkIGJ5IGFuYWVyb2JpYyBtaWNyb2Jlcy48c3VwPjU8L3N1cD48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8cD5PdGhlciBlbGVjdHJvbiBhY2NlcHRvcnMgYXJlIHVzZWQgb25jZSBkaXNzb2x2ZWQgb3h5Z2VuIGhhcyBiZWVuIGRlcGxldGVkLiBBZnRlciBveHlnZW4sIG5pdHJhdGUgd2lsbCBiZSB1c2VkIHVwLCBzbyBuaXRyYXRlIGNhbiBvbmx5IGJlIGZvdW5kIHJlbGF0aXZlbHkgZmFyIGF3YXkgZnJvbSB0aGUgcGx1bWUsIGp1c3QgbGlrZSBETy4gVGhlIGVsZWN0cm9uIGFjY2VwdG9yIHVzZWQgbGFzdCBpcyBjYXJib24gZGlveGlkZSAoQ088c3ViPjI8L3N1Yj4pLiBUaGUgcHJvY2VzcyBvZiB1c2luZyBDTzxzdWI+Mjwvc3ViPiBpcyBjYWxsZWQgbWV0aGFub2dlbmVzaXM7IHRoaXMgd2lsbCBiZSBvY2N1cnJpbmcgY2xvc2VzdCB0byB0aGUgc291cmNlIG9mIGNvbnRhbWluYXRpb24uPHN1cD41PC9zdXA+PC9wPgo8cD5PdGhlciBlbnZpcm9ubWVudHMgY2FuIGJlY29tZSBhbm94aWMgZHVlIHRvIG1pY3JvYmlhbCBhY3Rpdml0eSwgc3VjaCBhcyB0aGUgb3BlbiB3YXRlciBjb250YW1pbmF0ZWQgYnkgdGhlIERlZXB3YXRlciBIb3Jpem9uIG9pbCBzcGlsbCBpbiA8YSBpZD0ibWVhc3VyZS1kby1pbi13YXN0ZXdhdGVyIj48L2E+MjAxMC48L3A+CjxoMz5XaHkgTWVhc3VyZSBEaXNzb2x2ZWQgT3h5Z2VuIGluIFdhc3Rld2F0ZXI/PC9oMz4KPHA+TWljcm9iZXMgY29uc3VtZSB3YXN0ZSBhbmQgdHJhbnNmb3JtIGl0IGludG8gaGFybWxlc3MgZW5kIHByb2R1Y3RzIGluIHRoZSB0cmVhdG1lbnQgcHJvY2VzcyBhdCB3YXN0ZXdhdGVyIHRyZWF0bWVudCBwbGFudHMuIERPIHBsYXlzIGEgY3JpdGljYWwgcm9sZSBpbiB0aGlzIHByb2Nlc3MsIGFzIHRoZXNlIG1pY3JvYmVzIHJlbHkgb24gaXQgdG8gYnJlYWsgZG93biB3YXN0ZXdhdGVyIGNvbnRhbWluYW50cywgc3VjaCBhcyBvcmdhbmljcyBvciBhbW1vbmlhLiBJbiB0aGUgYWN0aXZhdGVkIHNsdWRnZSBwcm9jZXNzIChBU1ApICYjODIxMTsgdGhlIG1vc3QgY29tbW9uIHBsYW50IGNvbmZpZ3VyYXRpb24gJiM4MjExOyBhaXIgaXMgcHVtcGVkIGludG8gYWVyYXRpb24gdGFua3MgZmlsbGVkIHdpdGggbWljcm9iZXMgc3VzcGVuZGVkIGluIHdhdGVyLjwvcD4KPHA+T3VyIGJsb2cgcG9zdCA8YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL3lzaS1ibG9nL3dhdGVyLWJsb2dnZWQtYmxvZy8yMDE3LzA5L3dhc3Rld2F0ZXItb3Itd2F0ZXItcmVzb3VyY2UtcmVjb3ZlcnktZ2V0dGluZy10aGUtd2FzdGUtb3V0LW9mLXdhc3Rld2F0ZXIiPldhc3Rld2F0ZXIgb3IgV2F0ZXIgUmVzb3VyY2UgUmVjb3Zlcnk/IHwgR2V0dGluZyB0aGUgV2FzdGUgT3V0IG9mIFdhc3Rld2F0ZXI8L2E+IGRpc2N1c3NlcyBhZXJhdGlvbiB0ZWNobm9sb2d5IGluIG1vcmUgZGV0YWlsLjwvcD4KPGZpZ3VyZT48aW1nIGFsdD0iZGlzc29sdmVkIG94eWdlbiBpbiB3YXN0ZXdhdGVyIiBvYmplY3RpZD0iY2YzYjczMjctNmU1OS00N2E4LWFlZWItODM0YTJkZDJlMGExIiBzcmM9Imh0dHBzOi8vd3d3LnlzaS5jb20vaW1hZ2UlMjBsaWJyYXJ5L3BhcmFtZXRlcnMvZGlzc29sdmVkJTIwb3h5Z2VuL2Rpc3NvbHZlZC1veHlnZW4taW4td2FzdGV3YXRlci1hZXJhdGlvbi5qcGciIGRhdGEtYW1wLWhlaWdodD0iMzAwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSAyMDogQWlyIGlzIHB1bXBlZCBpbnRvIGFlcmF0aW9uIHRhbmtzIHRvIHByb21vdGUgdGhlIGRlZ3JhZGF0aW9uIG9mIHdhc3Rld2F0ZXIgY29udGFtaW5hbnRzIGJ5IG1pY3JvYmVzLjwvZmlnY2FwdGlvbj4KPC9maWd1cmU+CjxwPkVmZmx1ZW50LCB3aGljaCBpcyB0aGUgdHJlYXRlZCB3YXRlciBsZWF2aW5nIHRoZSBwbGFudCwgbXVzdCBjb250YWluIGEgbGltaXRlZCBhbW91bnQgb2YgbnV0cmllbnRzIHRvIGVuc3VyZSBldXRyb3BoaWNhdGlvbiBkb2VzIG5vdCBvY2N1ciBpbiB0aGUgZW52aXJvbm1lbnQuIEJpb2xvZ2ljYWwgbnV0cmllbnQgcmVtb3ZhbCAoQk5SKSBwcm9jZXNzZXMgY2FuIGJlIHVzZWQgdG8gZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBudXRyaWVudCBlZmZsdWVudCBsaW1pdHMsIGJ1dCB0aGVzZSBwcm9jZXNzZXMgcmVxdWlyZSBjb250cm9sbGVkIGNvbmRpdGlvbnMgd2l0aGluIHRoZSB0cmVhdG1lbnQgcGxhbnQuPC9wPgo8cD5CTlIgaXMgY2hhcmFjdGVyaXplZCBieSB0aGUgcHJlc2VuY2Ugb2YgdW5hZXJhdGVkIGFuYWVyb2JpYyBhbmQgYW5veGljIHpvbmVzIHVwc3RyZWFtIGFuZCBkb3duc3RyZWFtIG9mIGFlcmF0aW9uIHpvbmVzLiBNaXhlZCBsaXF1b3IgcmVjeWNsZSBhbmQgc2x1ZGdlIHJldHVybiBzdHJlYW1zIGFyZSBhcnJhbmdlZCB0byBtYWtlIHRoZSBiZXN0IHVzZSBvZiB0aGUgb3JnYW5pYyBjb250ZW50IGluIHRoZSBhY3RpdmF0ZWQgc2x1ZGdlIHN5c3RlbS48L3A+CjxwPkNoZWNrIG91dCBvdXIgd2ViaW5hciBvbiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly92aWRlby55c2kuY29tL3lzaS13ZWJpbmFyLWJpb2xvZ2ljYWwtbnV0cmllbnQtMSI+QmlvbG9naWNhbCBOdXRyaWVudCBSZW1vdmFsIG9mIE5pdHJvZ2VuPC9hPiB0byBsZWFybiBtb3JlIGFib3V0IHRoaXMgdHJlYXRtZW50IDxhIGlkPSJob3ctdG8tbWVhc3VyZS1kby1pbi13YXRlciI+PC9hPnN0cmF0ZWd5LjwvcD48L2Rpdj5kZAIGD2QWAgUFY3RsMDAPDxYCHwgFs0cKPGRpdj48aDI+PGEgaWQ9ImNvbG9yaW1ldHJpYyI+PC9hPkhvdyB0byBNZWFzdXJlIERpc3NvbHZlZCBPeHlnZW4gaW4gV2F0ZXI8L2gyPgo8cD5Ib3cgaXMgZGlzc29sdmVkIG94eWdlbiBtZWFzdXJlZD8gVGhlcmUgYXJlIGEgZmV3IGRpZmZlcmVudCBtZXRob2RzIHRvIG1lYXN1cmUgZGlzc29sdmVkIG94eWdlbiBpbiB3YXRlciBhbmQgdGhlIGZvbGxvd2luZyBzZWN0aW9uIHByb3ZpZGVzIGFuIG92ZXJ2aWV3LiZuYnNwOzwvcD4KPGgzPkNvbG9yaW1ldHJpYyBNZXRob2Q8L2gzPgo8cD5Db2xvcmltZXRlcnMsIGFsc28ga25vd24gYXMgZmlsdGVyIHBob3RvbWV0ZXJzLCBhcmUgaW5zdHJ1bWVudHMgdGhhdCBtZWFzdXJlIGNvbG9yIGludGVuc2l0eS4gV2hlbiB1c2luZyB0aGVzZSBpbnN0cnVtZW50cywgY2hlbWljYWwgcmVhZ2VudHMgYXJlIG1peGVkIHdpdGggdGhlIHNhbXBsZS4gSWYgdGhlIHRhcmdldCBwYXJhbWV0ZXIgaXMgcHJlc2VudCwgdGhlIHNvbHV0aW9uIHdpbGwgaGF2ZSBhIGNvbG9yLCBhbmQgaXRzIGludGVuc2l0eSB3aWxsIGJlIHByb3BvcnRpb25hbCB0byB0aGUgY29uY2VudHJhdGlvbiBvZiB0aGUgcGFyYW1ldGVyIGJlaW5nIHRlc3RlZC48L3A+CjxwPkxpZ2h0IGlzIHBhc3NlZCB0aHJvdWdoIGEgdGVzdCB0dWJlIGNvbnRhaW5pbmcgdGhlIHNhbXBsZSBzb2x1dGlvbiBhbmQgdGhlbiB0aHJvdWdoIGEgY29sb3JlZCBmaWx0ZXIgb250byBhIHBob3RvZGV0ZWN0b3IuIEZpbHRlcnMgYXJlIGNob3NlbiBzbyB0aGF0IGxpZ2h0IG9mIGEgc3BlY2lmaWMgd2F2ZWxlbmd0aCBpcyBzZWxlY3RlZC4gV2hlbiB0aGUgc29sdXRpb24gaXMgY29sb3JsZXNzLCBhbGwgb2YgdGhlIGxpZ2h0IHBhc3NlcyB0aHJvdWdoLiBXaXRoIGNvbG9yZWQgc2FtcGxlcywgbGlnaHQgaXMgYWJzb3JiZWQsIGFuZCB0aGF0IHdoaWNoIHBhc3NlcyB0aHJvdWdoIHRoZSBzYW1wbGUgaXMgcHJvcG9ydGlvbmF0ZWx5IHJlZHVjZWQuPC9wPgo8cD5UaGVyZSBhcmUgdHdvIGRpZmZlcmVudCBjb2xvcmltZXRyaWMgbWV0aG9kcyBvZiBkZXRlcm1pbmluZyBETyAmIzgyMTE7IEluZGlnbyBDYXJtaW5lIGFuZCBSaG9kYXppbmUgRC4gSW5kaWdvIGNhcm1pbmUgcmVhY3RzIHdpdGggRE8gdG8gZm9ybSBhIGJsdWUgY29tcGxleC4gSW4gY29udHJhc3QsIFJob2RhemluZSBEIHJlYWN0cyB3aXRoIERPIHRvIGZvcm0gYSBicmlnaHQgcGluayBjb21wbGV4LjwvcD4KPGZpZ3VyZT48aW1nIGFsdD0iZGlzc29sdmVkIG94eWdlbiBtZWFzdXJlbWVudCIgb2JqZWN0aWQ9ImNmM2I3MzI3LTZlNTktNDdhOC1hZWViLTgzNGEyZGQyZTBhMSIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9kaXNzb2x2ZWQtb3h5Z2VuLW1lYXN1cmVtZW50LWNvbG9yaW1ldHJpYy1tZXRob2QuanBnIiBkYXRhLWFtcC1oZWlnaHQ9IjI1MCIgZGF0YS1hbXAtd2lkdGg9IjYwMCI+PGJyPgo8ZmlnY2FwdGlvbj48YSBpZD0id2lua2xlci10aXRyYXRpb24iPjwvYT5GaWd1cmUgMjE6IERlcGVuZGluZyBvbiB0aGUgY29sb3JpbWV0cmljIG1ldGhvZCB1c2VkLCBkaXNzb2x2ZWQgb3h5Z2VuIGNhbiByZXN1bHQgaW4gdGhlIGZvcm1hdGlvbiBvZiBhIGJsdWUgb3IgYnJpZ2h0IHBpbmsgY29tcGxleC48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8aDM+V2lua2xlciBUaXRyYXRpb248L2gzPgo8cD5SZWFnZW50cyBhcmUgYWxzbyB1c2VkIHdoZW4gZGV0ZXJtaW5pbmcgRE8gY29uY2VudHJhdGlvbnMgdmlhIGEgV2lua2xlciB0aXRyYXRpb24uIEluIHRoaXMgbWV0aG9kLCByZWFnZW50cyBmb3JtIGFuIGFjaWQgY29tcG91bmQgdGhhdCdzIHRpdHJhdGVkIHdpdGggYSBuZXV0cmFsaXppbmcgY29tcG91bmQuIEFsc28sIGxpa2UgdGhlIGNvbG9yaW1ldHJpYyBtZXRob2QsIGEgY29sb3IgY2hhbmdlIHJlc3VsdHMsIGFuZCB0aGUgRE8gY29uY2VudHJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5IG9ic2VydmluZyB0aGUgcG9pbnQgYXQgd2hpY2ggdGhpcyBjb2xvciBjaGFuZ2Ugb2NjdXJzLjxzdXA+Njwvc3VwPjwvcD4KPHA+TWFueSBzdGFuZGFyZCBvcGVyYXRpbmcgcHJvY2VkdXJlcyAoU09Qcykgc3RpbGwgY2FsbCBmb3IgYSBXaW5rbGVyIHRpdHJhdGlvbiwgZXNwZWNpYWxseSBhdCB3YXN0ZXdhdGVyIHRyZWF0bWVudCBsYWJzIHRoYXQgYXJlIGRldGVybWluaW5nIGJpb2xvZ2ljYWwgb3h5Z2VuIGRlbWFuZCAoQk9EKS4gV2lua2xlcnMgbmVlZCB0byBiZSBkb25lIGluIHRyaXBsaWNhdGUsIHdpdGggdGhlIHJlc3VsdHMgYmVpbmcgYXZlcmFnZWQuPC9wPgo8ZmlndXJlPjxpbWcgYWx0PSJkaXNzb2x2ZWQgb3h5Z2VuIG1lYXN1cmVtZW50IiBvYmplY3RpZD0iY2YzYjczMjctNmU1OS00N2E4LWFlZWItODM0YTJkZDJlMGExIiBzcmM9Imh0dHBzOi8vd3d3LnlzaS5jb20vaW1hZ2UlMjBsaWJyYXJ5L3BhcmFtZXRlcnMvZGlzc29sdmVkJTIwb3h5Z2VuL2Rpc3NvbHZlZC1veHlnZW4tbWVhc3VyZW1lbnQtd2lua2xlci10aXRyYXRpb24tbWV0aG9kLmpwZyIgZGF0YS1hbXAtaGVpZ2h0PSIyNTAiIGRhdGEtYW1wLXdpZHRoPSI2MDAiPjxicj4KPGZpZ2NhcHRpb24+PGEgaWQ9ImVsZWN0cm9jaGVtaWNhbC1zZW5zb3JzIj48L2E+RmlndXJlIDIyOiBXaW5rbGVyIHRpdHJhdGlvbnMgcmVxdWlyZSBhIHNlcmllcyBvZiByZWFnZW50cyB0byBiZSBhZGRlZCB0byBhIHNvbHV0aW9uIHRvIGRldGVybWluZSBhIERPIGNvbmNlbnRyYXRpb24uPC9maWdjYXB0aW9uPgo8L2ZpZ3VyZT4KPGgzPkVsZWN0cm9jaGVtaWNhbCBTZW5zb3JzPC9oMz4KPHA+VW5saWtlIHRoZSBtZWFzdXJlbWVudCBvZiBETyBieSBwZXJmb3JtaW5nIGEgV2lua2xlciB0aXRyYXRpb24gb3IgdXNpbmcgYSBjb2xvcmltZXRlciwgZWxlY3Ryb2NoZW1pY2FsIHNlbnNvcnMsIGFsc28ga25vd24gYXMgbWVtYnJhbmUtY292ZXJlZCBETyBzZW5zb3JzLCBkb24ndCByZXF1aXJlIHJlYWdlbnRzLiBUaGVzZSBzZW5zb3JzIHByb3ZpZGUgZmFzdCBtZWFzdXJlbWVudHMgYW5kIGhhdmUgYSB3aWRlIHJhbmdlLCBidXQgd2F0ZXIgbXVzdCBjb250aW51b3VzbHkgbW92ZSBhY3Jvc3MgdGhlIG1lbWJyYW5lIGFzIG94eWdlbiBpcyBjb25zdW1lZCBkdXJpbmcgdGhlIG1lYXN1cmVtZW50LjwvcD4KPHA+VGhlcmUgYXJlIHR3byB0eXBlcyBvZiBlbGVjdHJvY2hlbWljYWwgc2Vuc29ycyAmIzgyMTE7IHBvbGFyb2dyYXBoaWMgYW5kIGdhbHZhbmljLiBJbiAxOTU2LCBEci4gTGVsYW5kIENsYXJrIGludmVudGVkIHRoZSBwb2xhcm9ncmFwaGljIGVsZWN0cm9kZSB3aGlsZSB3b3JraW5nIHdpdGggWVNJIFNjaWVudGlzdHMuIFRoZSBnYWx2YW5pYyBlbGVjdHJvZGUgd2FzIGRldmVsb3BlZCBsYXRlciBvbiwgYnV0IGl0IG1lYXN1cmVzIERPIHRoZSBzYW1lIHdheSBhcyB0aGUgcG9sYXJvZ3JhcGhpYyBzZW5zb3IuIEVpdGhlciBzZW5zb3IgdHlwZSBjYW4gYmUgdXNlZCB3aXRoIFlTSSBpbnN0cnVtZW50cyBzdWNoIGFzIHRoZSA8YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL3Byb3F1YXRybyI+UHJvUXVhdHJvPC9hPiBhbmQgPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9wcm8yMCI+UHJvMjA8L2E+LjwvcD4KPHA+RWxlY3Ryb2NoZW1pY2FsIERPIHNlbnNvcnMgY29uc2lzdCBvZiBhbiBhbm9kZSBhbmQgYSBjYXRob2RlIGNvbmZpbmVkIGluIGVsZWN0cm9seXRlIHNvbHV0aW9uIGJ5IGFuIG94eWdlbi1wZXJtZWFibGUgbWVtYnJhbmUuIE94eWdlbiBtb2xlY3VsZXMgZGlzc29sdmVkIGluIHRoZSBzYW1wbGUgZGlmZnVzZSB0aHJvdWdoIHRoZSBtZW1icmFuZSBiZWZvcmUgYmVpbmcgcmVkdWNlZCAoaS5lLiwgY29uc3VtZWQpIGF0IHRoZSBjYXRob2RlLiBUaGlzIHJlYWN0aW9uIHByb2R1Y2VzIGFuIGVsZWN0cmljYWwgc2lnbmFsIHRoYXQgdHJhdmVscyBmcm9tIHRoZSBjYXRob2RlIHRvIHRoZSBhbm9kZSwgdWx0aW1hdGVseSByZWFjaGluZyB0aGUgaW5zdHJ1bWVudC9tZXRlci48L3A+CjxmaWd1cmU+PGltZyBhbHQ9ImRpc3NvbHZlZCBveHlnZW4gc2Vuc29yIGVsZWN0cm9jaGVtaWNhbCIgb2JqZWN0aWQ9ImNmM2I3MzI3LTZlNTktNDdhOC1hZWViLTgzNGEyZGQyZTBhMSIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9kaXNzb2x2ZWQtb3h5Z2VuLXNlbnNvci1kaWFncmFtLWVsZWN0cm9jaGVtaWNhbC5qcGciIGRhdGEtYW1wLWhlaWdodD0iMjUwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSAyMzogV2l0aCBlbGVjdHJvY2hlbWljYWwgc2Vuc29ycywgZGlzc29sdmVkIG94eWdlbiBkaWZmdXNlcyBhY3Jvc3MgYSBtZW1icmFuZSBiZWZvcmUgYmVpbmcgcmVkdWNlZCBhdCB0aGUgY2F0aG9kZS4gVGhpcyBwcm9kdWNlcyBhIHNpZ25hbCB0aGF0J3MgcGlja2VkIHVwIGJ5IHRoZSBtZXRlci48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8cD5UaGUgYW1vdW50IG9mIG94eWdlbiBkaWZmdXNpbmcgdGhyb3VnaCB0aGUgbWVtYnJhbmUgaXMgcHJvcG9ydGlvbmFsIHRvIHRoZSBwYXJ0aWFsIHByZXNzdXJlIGFuZCBjb25jZW50cmF0aW9uIG9mIG94eWdlbiBvdXRzaWRlIHRoZSBtZW1icmFuZS4gQXMgdGhlIG94eWdlbiBjb25jZW50cmF0aW9uIHZhcmllcywgc28gZG9lcyB0aGUgb3h5Z2VuIGRpZmZ1c2luZyB0aHJvdWdoIHRoZSBtZW1icmFuZSwgYW5kIHRoaXMgY2F1c2VzIHRoZSBwcm9iZSBjdXJyZW50IHRvIGNoYW5nZSA8YSBpZD0icG9sYXJvZ3JhcGhpYyI+PC9hPnByb3BvcnRpb25hbGx5LjwvcD4KPGg0PlBvbGFyb2dyYXBoaWM8L2g0Pgo8cD5Qb2xhcm9ncmFwaGljIHNlbnNvcnMgaGF2ZSBhIHNpbHZlciBhbm9kZSBhbmQgYSBnb2xkIGNhdGhvZGUuIFRoZXNlIG1hdGVyaWFscyByZXF1aXJlIHRoZSBwcm9iZSB0byB3YXJtIHVwLCBvciBwb2xhcml6ZSwgYmVmb3JlIHVzZSAmIzgyMTE7IHRoaXMgdGFrZXMgYWJvdXQgMTAgbWludXRlcy4gUG9sYXJvZ3JhcGhpYyBzZW5zb3JzIGhhdmUgYSBsb25nZXIgbGlmZXNwYW4gdGhhbiBnYWx2YW5pYyBzZW5zb3JzIGJlY2F1c2UgaXQgaXMgbm90IGFsd2F5cyBvbiAoaS5lLiwgbm90IGFsd2F5cyBwb2xhcml6ZWQpLjwvcD4KPGZpZ3VyZT48aW1nIGFsdD0icG9sYXJvZ3JhcGhpYyBzZW5zb3IgZGlzc29sdmVkIG94eWdlbiBtZXRlciIgb2JqZWN0aWQ9ImNmM2I3MzI3LTZlNTktNDdhOC1hZWViLTgzNGEyZGQyZTBhMSIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9wb2xhcm9ncmFwaGljLXNlbnNvci1kaXNzb2x2ZWQtb3h5Z2VuLW1ldGVyLmpwZyIgZGF0YS1hbXAtaGVpZ2h0PSIyNTAiIGRhdGEtYW1wLXdpZHRoPSI2MDAiPjxicj4KPGZpZ2NhcHRpb24+PGEgaWQ9ImdhbHZhbmljIj48L2E+RmlndXJlIDI0OiBQb2xhcm9ncmFwaGljIHNlbnNvcnMgaGF2ZSBhIHNpbHZlciBhbm9kZSBhbmQgYSBnb2xkIGNhdGhvZGUuIFRoZXNlIG1hdGVyaWFscyByZXF1aXJlIHRoZSBpbnN0cnVtZW50IHRvIGJlIHR1cm5lZCBvbiBmb3IgYWJvdXQgMTAgbWludXRlcyBiZWZvcmUgbWVhc3VyZW1lbnRzIGNhbiBiZSBjb2xsZWN0ZWQuPC9maWdjYXB0aW9uPgo8L2ZpZ3VyZT4KPGg0PkdhbHZhbmljPC9oND4KPHA+R2FsdmFuaWMgc2Vuc29ycyBoYXZlIGEgemluYyBhbm9kZSBhbmQgYSBzaWx2ZXIgY2F0aG9kZS4gVGhlc2UgbWF0ZXJpYWxzIGFsbG93IHRoZSBzZW5zb3IgdG8gYmUgY29udGludW91c2x5IHBvbGFyaXplZCBldmVuIHdoZW4gdGhlIG1ldGVyIGlzIG9mZiwgc28gbm8gd2FybS11cCBwZXJpb2QgaXMgcmVxdWlyZWQuIFRoZXJlIGlzIGEgZHJhd2JhY2sgdG8gYWx3YXlzIGJlaW5nIG9uICYjODIxMTsgdGhlc2Ugc2Vuc29ycyBoYXZlIGEgc2hvcnRlciBsaWZlIHRoYW4gcG9sYXJvZ3JhcGhpYyBzZW5zb3JzLjwvcD4KPGZpZ3VyZT48aW1nIGFsdD0iZ2FsdmFuaWMgc2Vuc29yIGRpc3NvbHZlZCBveHlnZW4gbWV0ZXIiIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vZ2FsdmFuaWMtc2Vuc29yLWRpc3NvbHZlZC1veHlnZW4tbWV0ZXIuanBnIiBkYXRhLWFtcC1oZWlnaHQ9IjI1MCIgZGF0YS1hbXAtd2lkdGg9IjYwMCI+PGJyPgo8ZmlnY2FwdGlvbj48YSBpZD0ib3B0aWNhbC1zZW5zb3JzIj48L2E+RmlndXJlIDI1OiBHYWx2YW5pYyBzZW5zb3JzIGhhdmUgYSB6aW5jIGFub2RlIGFuZCBhIHNpbHZlciBjYXRob2RlLiBUaGVzZSBzZW5zb3JzIGhhdmUgYSBzaG9ydGVyIGxpZmUgYmVjYXVzZSB0aGV5J3JlIGFsd2F5cyBwb2xhcml6ZWQsIHNpbWlsYXIgdG8gYSBjYXIgYmF0dGVyeS48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8aDQ+T3B0aWNhbCBTZW5zb3JzPC9oND4KPHA+T3B0aWNhbCBhbmQgZWxlY3Ryb2NoZW1pY2FsIHNlbnNvcnMgaGF2ZSBzb21lIHNpbWlsYXJpdGllcy4gRm9yIHN0YXJ0ZXJzLCB0aGVzZSBzZW5zb3JzIG1lYXN1cmUgdGhlIHByZXNzdXJlIG9mIG94eWdlbiBkaXNzb2x2ZWQgaW4gdGhlIHNhbXBsZS4gJ1JhdycgcmVhZGluZ3MgYXJlIGV4cHJlc3NlZCBhcyBETyUsIGFuZCB0aGUgb25seSB2YXJpYWJsZSB0aGF0IGFmZmVjdHMgRE8lIGlzIGJhcm9tZXRyaWMgcHJlc3N1cmUuIFRoZSBoaWdoZXIgdGhlIGJhcm9tZXRyaWMgcHJlc3N1cmUsIHRoZSBtb3JlIG94eWdlbiB3aWxsIGJlIHB1c2hlZCBpbnRvIHRoZSB3YXRlci4gSXQgaXMgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCBETyBtZy9MIGlzIDxlbT5jYWxjdWxhdGVkPC9lbT4gZnJvbSBETyUsIHRlbXBlcmF0dXJlLCBhbmQgc2FsaW5pdHkuPC9wPgo8cD5MaWtlIGVsZWN0cm9jaGVtaWNhbCBzZW5zb3JzLCBubyByZWFnZW50cyBhcmUgcmVxdWlyZWQgd2hlbiB1c2luZyBvcHRpY2FsIHNlbnNvcnMuIEJvdGggc2Vuc29yIHR5cGVzIGFyZSBhbHNvIHBsYWNlZCBkaXJlY3RseSBpbiB0aGUgc2FtcGxlIHdoZW4gdGFraW5nIGEgbWVhc3VyZW1lbnQuPC9wPgo8cD5UaGVyZSBhcmUgc2V2ZXJhbCBrZXkgc3RydWN0dXJlcyBvZiBhbiBvcHRpY2FsIERPIHNlbnNvci4gVGhlIHNlbnNvciBjYXAgb2YgYW4gb3B0aWNhbCBETyBzZW5zb3IgY29udGFpbnMgYSBkaWZmdXNpb24gbGF5ZXIgYWNyb3NzIHdoaWNoIERPIGlzIGNvbnN0YW50bHkgbW92aW5nLiBVbmxpa2UgZWxlY3Ryb2NoZW1pY2FsIHNlbnNvcnMsIG94eWdlbiBpcyBub3QgY29uc3VtZWQgZHVyaW5nIHRoZSBtZWFzdXJlbWVudCwgc28gd2F0ZXIgZG9lcyBub3QgbmVlZCB0byBmbG93IGNvbnRpbnVvdXNseSBhY3Jvc3MgdGhlIHNlbnNvciBjYXAuPC9wPgo8ZmlndXJlPjxpbWcgYWx0PSJkaXNzb2x2ZWQgb3h5Z2VuIG9wdGljYWwgc2Vuc29yIiBvYmplY3RpZD0iY2YzYjczMjctNmU1OS00N2E4LWFlZWItODM0YTJkZDJlMGExIiBzcmM9Imh0dHBzOi8vd3d3LnlzaS5jb20vaW1hZ2UlMjBsaWJyYXJ5L3BhcmFtZXRlcnMvZGlzc29sdmVkJTIwb3h5Z2VuL29wdGljYWwtc2Vuc29yLWRpYWdyYW0tZGlzc29sdmVkLW94eWdlbi1tZWFzdXJlbWVudC5qcGciIGRhdGEtYW1wLWhlaWdodD0iNTAwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSAyNjogVGhlIGFuYXRvbXkgb2YgYSB0eXBpY2FsIFlTSSBvcHRpY2FsIGRpc3NvbHZlZCBveHlnZW4gc2Vuc29yLiBNb3N0IG1vZGVybiBwbGF0Zm9ybXMgJiM4MjExOyB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9wcm9kc3MiPlByb0RTUzwvYT4gYW5kIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnlzaS5jb20vZXhvIj5FWE88L2E+IGluY2x1ZGVkICYjODIxMTsgZmVhdHVyZSBhbiBvcHRpY2FsIHNlbnNvci48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8cD5UaGVyZSBhcmUgYWxzbyBkaWZmZXJlbnQgTEVEcywgb25lIG9mIHdoaWNoICh0aGUgYmx1ZSBsaWdodCBpbiBtb3N0IG9mIG91ciBZU0kgc2Vuc29ycykgY2F1c2VzIGFub3RoZXIgbGF5ZXIgb2YgdGhlIHNlbnNvciBjYXAgJiM4MjExOyB0aGUgZHllIGxheWVyICYjODIxMTsgdG8gbHVtaW5lc2NlIChpLmUuLCBnbG93KS48L3A+CjxmaWd1cmU+PGltZyBhbHQ9ImRpc3NvbHZlZCBveHlnZW4gbWVhc3VyZW1lbnQgb3B0aWNhbCBzZW5zb3IiIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vZGlzc29sdmVkLW94eWdlbi1tZWFzdXJlbWVudC1vcHRpY2FsLXNlbnNvci5qcGciIGRhdGEtYW1wLWhlaWdodD0iMjUwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSAyNzogTW9zdCBvZiBvdXIgb3B0aWNhbCBzZW5zb3JzIGZlYXR1cmUgYSBibHVlIExFRC4gVGhpcyBsaWdodCBjYXVzZXMgdGhlIGR5ZSBsYXllciBvZiB0aGUgc2Vuc29yIGNhcCB0byBnbG93IChpLmUuLCBsdW1pbmVzY2VuY2UpLiBUaGUgbW9yZSBveHlnZW4gaW4gdGhlIHNvbHV0aW9uLCB0aGUgc2hvcnRlciB0aGUgbGlmZXRpbWUgb2YgdGhlIGx1bWluZXNjZW5jZS48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8cD5BcyBveHlnZW4gbW92ZXMgYWNyb3NzIHRoZSBkaWZmdXNpb24gbGF5ZXIsIGl0IGFmZmVjdHMgdGhlIGx1bWluZXNjZW5jZSBvZiB0aGUgZHllIGxheWVyLiBUaGUgYW1vdW50IG9mIG94eWdlbiBwYXNzaW5nIHRocm91Z2ggdGhlIHNlbnNpbmcgbGF5ZXIgaXMgaW52ZXJzZWx5IHByb3BvcnRpb25hbCB0byB0aGUgbGlmZXRpbWUgb2YgdGhlIGx1bWluZXNjZW5jZSBpbiB0aGUgc2Vuc2luZyBsYXllci4gVGhlIGxpZmV0aW1lIG9mIHRoZSBsdW1pbmVzY2VuY2UgaXMgbWVhc3VyZWQgYnkgdGhlIHNlbnNvciBhbmQgY29tcGFyZWQgYWdhaW5zdCB0aGUgcmVmZXJlbmNlICh0aGUgcmVkIGxpZ2h0IGluIG91ciBleGFtcGxlKSwgYWxsb3dpbmcgZm9yIERPIHRvIGJlIDxhIGlkPSJzZWxlY3RpbmctZG8tc2Vuc29yIj48L2E+ZGV0ZXJtaW5lZC48L3A+PC9kaXY+ZGQCBw9kFgIFBWN0bDAwDw8WAh8IBZUZCjxkaXY+PGgyPjxhIGlkPSJ3aGF0LWlzLWRpc3NvbHZlZC1veHlnZW4taW4td2F0ZXIiPjwvYT5Ib3cgdG8gU2VsZWN0IHRoZSBSaWdodCBEaXNzb2x2ZWQgT3h5Z2VuIFNlbnNvcjwvaDI+CjxwPlRoZXJlIGFyZSBzZXZlcmFsIG9wdGlvbnMgZm9yIG1lYXN1cmluZyBkaXNzb2x2ZWQgb3h5Z2VuIGluIHdhdGVyLCBhbmQgaXQgY2FuIGJlIGNoYWxsZW5naW5nIGZvciB0aG9zZSBuZXcgdG8gbWVhc3VyaW5nIERPIHRvIHNlbGVjdCB0aGUgcmlnaHQgbWV0aG9kIGZvciB0aGVtLjwvcD4KPHA+Q29sb3JpbWV0ZXJzIGFyZSBub3QgdHlwaWNhbGx5IHVzZWQgd2hlbiB0aGUgb25seSBwYXJhbWV0ZXIgYmVpbmcgbWVhc3VyZWQgaXMgZGlzc29sdmVkIG94eWdlbiwgYXMgdGhleSBhcmUgbm90IGNvbnZlbmllbnQgJiM4MjExOyBpdCB0YWtlcyB0aW1lIHRvIG1peCB0aGUgcmVhZ2VudCBhbmQgc29sdXRpb24hIEFkZGl0aW9uYWxseSwgdGhlcmUgYXJlIHNvbWUgcHJldHR5IHRpZ2h0IGxpbWl0YXRpb25zIG9uIHRoZSBtZWFzdXJlbWVudCByYW5nZS48L3A+CjxwPldpbmtsZXIgdGl0cmF0aW9ucyBhcmUgdGltZS1jb25zdW1pbmcgYW5kIGNoYWxsZW5naW5nIHRvIHBlcmZvcm0uIFN1cHBvc2UgeW91IGhhdmUgdG8gcGVyZm9ybSBhIFdpbmtsZXIgdGl0cmF0aW9uIGJlY2F1c2UgeW91ciBzdGFuZGFyZCBvcGVyYXRpbmcgcHJvY2VkdXJlIChTT1ApIGZvbGxvd3MgSVNPIDU4MTMgb3IgQVNUTSBEODg4LiBJbiB0aGF0IGNhc2UsIHdlIHJlY29tbWVuZCB1c2luZyBhbiBhdXRvbWF0ZWQgdGl0cmF0b3IgJiM4MjExOyBjaGVjayBvdXQgc29tZSA8YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL3Byb2R1Y3RzL3RpdHJhdGlvbiI+dGl0cmF0aW9uIG9wdGlvbnMgZnJvbSBZU0k8L2E+ICYjODIxMTsgcmF0aGVyIHRoYW4gZG9pbmcgdGhlIHRpdHJhdGlvbnMgYnkgaGFuZC4gRm9yIGN1c3RvbWVycyB3aG8gcmVxdWlyZSBtZWFzdXJpbmcgRE8gaW4gc2l0dSBvciBoYXZlIGEgaGlnaCB0aHJvdWdocHV0IG9mIHNhbXBsZXMsIHdlIHJlY29tbWVuZCB1c2luZyBhbiBlbGVjdHJvY2hlbWljYWwgb3Igb3B0aWNhbCBzZW5zb3IgZm9yIERPIG1lYXN1cmVtZW50IGlmIHlvdSBoYXZlIGEgY2hvaWNlIG9mIG1ldGhvZC48L3A+CjxwPkVsZWN0cm9jaGVtaWNhbCBhbmQgb3B0aWNhbCBzZW5zb3JzIGFyZSBieSBmYXIgdGhlIG1vc3QgY29tbW9ubHkgdXNlZCB0b29scyB3aGVuIG1lYXN1cmluZyBETy4gVW5saWtlIG90aGVyIHdhdGVyIHF1YWxpdHkgc2Vuc29ycyAoZS5nLiwgPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9wYXJhbWV0ZXJzL25pdHJhdGUiPm5pdHJhdGU8L2E+KSB0aGF0IGFyZSBvZnRlbiBkZXNpZ25lZCBmb3IgYSBzcGVjaWZpYyBhcHBsaWNhdGlvbiwgRE8gc2Vuc29ycyBjYW4gYmUgdXNlZCBpbiBhIHdpZGUgdmFyaWV0eSBvZiBhcHBsaWNhdGlvbnMgJiM4MjExOyBzdXJmYWNlIHdhdGVyLCBhcXVhY3VsdHVyZSwgZ3JvdW5kd2F0ZXIsIHdhc3Rld2F0ZXIsIGFuZCBtb3JlITwvcD4KPHA+U28gd2hpY2ggRE8gc2Vuc29yIGlzIHJpZ2h0IGZvciB5b3U/IFRhYmxlIDMgaGFzIHNvbWUgY29uc2lkZXJhdGlvbnMuPC9wPgo8ZmlndXJlPgo8ZmlnY2FwdGlvbj48c3Ryb25nPlRhYmxlIDM6PC9zdHJvbmc+IENvbXBhcmlzb24gb2YgcG9sYXJvZ3JhcGhpYywgZ2FsdmFuaWMgYW5kIG9wdGljYWwgRE8gc2Vuc29ycy48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8ZGl2Pgo8dGFibGUgY2xhc3M9ImZvb3RhYmxlIG9uZSBtZXRyby1ibHVlIj4KPHRoZWFkPgo8dHI+Cjx0aCBkYXRhLXRvZ2dsZT0iVHJ1ZSI+PHN0cm9uZz5TcGVjaWZpY2F0aW9uPC9zdHJvbmc+PC90aD4KPHRoIGRhdGEtaGlkZT0icGhvbmUsdGFibGV0Ij48c3Ryb25nPlBvbGFyb2dyYXBoaWMgKGUtY2hlbSk8YnI+PC9zdHJvbmc+PC90aD4KPHRoIGRhdGEtaGlkZT0icGhvbmUsdGFibGV0Ij48c3Ryb25nPkdhbHZhbmljIChlLWNoZW0pPC9zdHJvbmc+PC90aD4KPHRoIGRhdGEtaGlkZT0icGhvbmUsdGFibGV0Ij48c3Ryb25nPk9wdGljYWw8YnI+PC9zdHJvbmc+PC90aD4KPC90cj4KPC90aGVhZD4KPHRib2R5Pgo8dHI+Cjx0ZD5Nb3N0IGFjY3VyYXRlIGluIDAgdG8gMjAwJURPIHJhbmdlPC90ZD4KPHRkPjwvdGQ+Cjx0ZD48L3RkPgo8dGQ+WDwvdGQ+CjwvdHI+Cjx0cj4KPHRkPkZhc3Rlc3QgcmVzcG9uc2UgdGltZTwvdGQ+Cjx0ZD5YPC90ZD4KPHRkPlg8L3RkPgo8dGQ+PC90ZD4KPC90cj4KPHRyPgo8dGQ+Tm8gc2Vuc29yIHdhcm0tdXAgdGltZSByZXF1aXJlZDwvdGQ+Cjx0ZD48L3RkPgo8dGQ+WDwvdGQ+Cjx0ZD5YPC90ZD4KPC90cj4KPHRyPgo8dGQ+TG93IE1haW50ZW5hbmNlPC90ZD4KPHRkPjwvdGQ+Cjx0ZD48L3RkPgo8dGQ+WDwvdGQ+CjwvdHI+Cjx0cj4KPHRkPk1vc3Qgc3RhYmxlICYjODIxMTsgbGVzcyBmcmVxdWVudCBjYWxpYnJhdGlvbiBuZWVkZWQ8L3RkPgo8dGQ+PC90ZD4KPHRkPjwvdGQ+Cjx0ZD5YPC90ZD4KPC90cj4KPHRyPgo8dGQ+TG9uZyBwcm9iZSBsaWZlICgxKyB5ZWFycyk8L3RkPgo8dGQ+PC90ZD4KPHRkPjwvdGQ+Cjx0ZD5YPC90ZD4KPC90cj4KPHRyPgo8dGQ+Tm90IGRlcGVuZGVudCBvbiBmbG93IGFjcm9zcyB0aGUgc2Vuc29yIHN1cmZhY2U8L3RkPgo8dGQ+PC90ZD4KPHRkPjwvdGQ+Cjx0ZD5YPC90ZD4KPC90cj4KPHRyPgo8dGQ+TWVhc3VyZW1lbnRzIG5vdCBpbXBhY3RlZCBieSBnYXNlcyBzdWNoIGFzIGh5ZHJvZ2VuIHN1bGZpZGU8L3RkPgo8dGQ+PC90ZD4KPHRkPjwvdGQ+Cjx0ZD5YPC90ZD4KPC90cj4KPHRyPgo8dGQ+TG93ZXN0IENvc3Q8L3RkPgo8dGQ+WDwvdGQ+Cjx0ZD5YPC90ZD4KPHRkPjwvdGQ+CjwvdHI+CjwvdGJvZHk+CjwvdGFibGU+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4vLyA8IVtDREFUQVsKJChmdW5jdGlvbiAoKSB7ICAgICQoJ3RhYmxlJykuZm9vdGFibGUoKTsgICAgICAgICB9KTsKLy8gXV0+PC9zY3JpcHQ+CjwvZGl2Pgo8cD48L3A+CjxwPjxhIGlkPSJzZWxlY3RpbmctZG8taW5zdHJ1bWVudCI+PC9hPldhbnQgdG8gbGVhcm4gbW9yZSBhYm91dCB0aGUgbWVhc3VyZW1lbnQgb2YgRE8sIGRpZmZlcmVuY2VzIGJldHdlZW4gRE8gc2Vuc29ycywgYW5kIGJlc3QgcHJhY3RpY2VzPyA8YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL2RvLWhhbmRib29rIj5Eb3dubG9hZCBvdXIgRE8gSGFuZGJvb2shPC9hPjwvcD48L2Rpdj5kZAIID2QWAgUFY3RsMDAPDxYCHwgFnF4KPGRpdj48aDI+PGEgaWQ9IndoYXQtaXMtZGlzc29sdmVkLW94eWdlbi1pbi13YXRlciI+PC9hPkhvdyB0byBTZWxlY3QgdGhlIFJpZ2h0IERpc3NvbHZlZCBPeHlnZW4gSW5zdHJ1bWVudDwvaDI+CjxwPldoaWxlIGVsZWN0cm9jaGVtaWNhbCBhbmQgb3B0aWNhbCBETyBzZW5zb3JzIGFyZSBzdWl0YWJsZSBmb3IgbWFueSBhcHBsaWNhdGlvbnMsIHRoZSBpbnN0cnVtZW50cyB0aGV5J3JlIHVzZWQgd2l0aCBhcmUgb2Z0ZW4gZGVzaWduZWQgd2l0aCBzcGVjaWZpYyBhcHBsaWNhdGlvbnMgaW4gbWluZC4gRXhhbXBsZXMgaW5jbHVkZTo8L3A+CjxwPlRoZSA8YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL211bHRpbGFiLTQwMTAtM3ciPk11bHRpTGFiIDQwMTAtM1c8L2E+IGlzIHRoZSBpZGVhbCBpbnN0cnVtZW50IHRvIHVzZSBpbiBhIGxhYiAoZS5nLiwgd2FzdGV3YXRlciBsYWIpIHRoYXQncyBtZWFzdXJpbmcgcEgsIERPLzxhIGhyZWY9Imh0dHBzOi8vd3d3LnlzaS5jb20vcGFyYW1ldGVycy9iaW9jaGVtaWNhbC1veHlnZW4tZGVtYW5kLWJvZCI+Qk9EPC9hPiwgYW1tb25pYSwgb3IgYW5vdGhlciBjb21iaW5hdGlvbiBvZiBwYXJhbWV0ZXJzLiBUaGlzIGlzIGEgbGFiIGluc3RydW1lbnQgJiM4MjExOyBpdCdzIG5vdCBtZWFudCB0byBiZSB1c2VkIG91dHNpZGUhIFdoaWxlIHRoZSBzZW5zb3IgdGVjaG5vbG9neSBpcyB0aGUgc2FtZSBhcyBpcyB1c2VkIG9uIGZpZWxkIGluc3RydW1lbnRzLCB0aGUgc2Vuc29yIGJvZGllcyBhcmUgZGVzaWduZWQgZm9yIHVzZSBpbiBhIGNvbnRyb2xsZWQgZW52aXJvbm1lbnQgKGUuZy4sIHNvbWUgcEggc2Vuc29ycyBoYXZlIGEgcmVmaWxsYWJsZSBnbGFzcyBib2R5KS48L3A+CjxmaWd1cmU+PGltZyBhbHQ9ImRpc3NvbHZlZCBveHlnZW4gbWV0ZXIiIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vZGlzc29sdmVkLW94eWdlbi1tZXRlci1sYWItYmVuY2h0b3AtYm9kLmpwZyIgZGF0YS1hbXAtaGVpZ2h0PSIzMDAiIGRhdGEtYW1wLXdpZHRoPSI2MDAiPjxicj4KPGZpZ2NhcHRpb24+RmlndXJlIDI4OiBZU0kgTXVsdGlMYWIgaW5zdHJ1bWVudHMgYXJlIGlkZWFsIGZvciBtZWFzdXJpbmcgRE8vQk9EIGFuZCBvdGhlciBwYXJhbWV0ZXJzIGluIGEgbGFib3JhdG9yeSBzZXR0aW5nLjwvZmlnY2FwdGlvbj4KPC9maWd1cmU+CjxwPlRoZSA8YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL3Byb2RzcyI+UHJvRFNTPC9hPiBpcyBhIHBvcnRhYmxlIHN5c3RlbSB3aXRoIGEgaGFuZGhlbGQsIHNpbmdsZSBjYWJsZSwgYW5kIGEgYnVsa2hlYWQgd2hlcmUgdGhlIHNlbnNvcnMgYXJlIGluc3RhbGxlZC4gVGhpcyBpcyBhIHRydWUgZmllbGQgaW5zdHJ1bWVudCAmIzgyMTE7IHJ1Z2dlZCwgd2F0ZXJwcm9vZiBjYXNlIChJUC02NyByYXRlZCk7IG1ldGFsLCBtaWxpdGFyeS1zcGVjIChNUykgY2FibGUgY29ubmVjdG9yczsgYW5kIHRpdGFuaXVtIHNlbnNvcnMuIFRoaXMgaW5zdHJ1bWVudCBpcyBtZWFudCB0byBiZSB1c2VkIGZvciBzcG90IHNhbXBsaW5nLCBtZWFuaW5nIGl0IGlzIG5vdCBtZWFudCBmb3IgdW5hdHRlbmRlZCBtb25pdG9yaW5nLjwvcD4KPHA+Rm9yIGFzc2lzdGFuY2Ugc2VsZWN0aW5nIHRoZSByaWdodCBwb3J0YWJsZSBkaXNzb2x2ZWQgb3h5Z2VuIHN5c3RlbSwgY2hlY2sgb3V0IG91ciBibG9nIHBvc3Qgb24gPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS95c2ktYmxvZy93YXRlci1ibG9nZ2VkLWJsb2cvMjAyMy8wOC9ob3ctdG8tc2VsZWN0LWEtcG9ydGFibGUtZGlzc29sdmVkLW94eWdlbi1tZXRlci10b3AtNS1jb25zaWRlcmF0aW9ucyI+NSBDb25zaWRlcmF0aW9ucyBXaGVuIFNlbGVjdGluZyBhIFBvcnRhYmxlIERpc3NvbHZlZCBPeHlnZW4gTWV0ZXI8L2E+IG9yIG91ciB2aWRlbyBvbiA8YSBocmVmPSJodHRwczovL3ZpZGVvLnlzaS5jb20vaG93LXRvLXNlbGVjdC1hLWhhbmRoZWxkLWRpc3NvbHZlZCI+SG93IHRvIFNlbGVjdCBhIEhhbmRoZWxkIERpc3NvbHZlZCBPeHlnZW4gTWV0ZXI8L2E+LiBTZWUgYXZhaWxhYmxlIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnlzaS5jb20vcHJvZHVjdHMvZGlzc29sdmVkLW94eWdlbi1tZXRlcnMiPmRpc3NvbHZlZCBveHlnZW4gbWV0ZXJzPC9hPjxzcGFuIGRhdGEtdGVhbXM9InRydWUiPi48L3NwYW4+Jm5ic3A7PC9wPgo8ZmlndXJlPjxpbWcgYWx0PSJkaXNzb2x2ZWQgb3h5Z2VuIG1ldGVyIHwgZGlzc29sdmUgb3h5Z2VuIG1ldGVyIHwgRE8gc2FtcGxpbmciIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vZGlzc29sdmVkLW94eWdlbi1tZXRlci5qcGciIGRhdGEtYW1wLWhlaWdodD0iMzAwIiBkYXRhLWFtcC13aWR0aD0iNjAwIj48YnI+CjxmaWdjYXB0aW9uPkZpZ3VyZSAyOTogUHJvRFNTIGlzIGEgcG9ydGFibGUgbXVsdGlwYXJhbWV0ZXIgZmllbGQgaW5zdHJ1bWVudCB0aGF0IG1lYXN1cmVzIERPIHdpdGggYW4gb3B0aWNhbCBzZW5zb3IuIEl0IGlzIGlkZWFsIGZvciBtYW55IG91dGRvb3Igd2F0ZXIgcXVhbGl0eSBzcG90LXNhbXBsaW5nIGFwcGxpY2F0aW9ucy48L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgo8ZGl2IGl0ZW1wcm9wPSJ2aWRlbyIgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9WaWRlb09iamVjdCIgdGl0bGU9IkhvdyB0byBTZWxlY3QgYSBIYW5kaGVsZCBEaXNzb2x2ZWQgT3h5Z2VuIE1ldGVyIj4KPGRpdiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMDsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyI+PGlmcmFtZSBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IiB0aXRsZT0iSG93IHRvIFNlbGVjdCBhIEhhbmRoZWxkIERpc3NvbHZlZCBPeHlnZW4gTWV0ZXIiIHNyYz0iaHR0cHM6Ly92aWRlby55c2kuY29tL3YuaWh0bWwvcGxheWVyLmh0bWw/dG9rZW49YjVkOGZkMDFjYjUzMTNhNDdjZTAxNDdkZTczZDNhZDgmc291cmNlPWVtYmVkJnBob3RvJTVmaWQ9ODczMzgyNzYiIGZyYW1lYm9yZGVyPSIwIiBib3JkZXI9IjAiIHNjcm9sbGluZz0ibm8iIGFsbG93ZnVsbHNjcmVlbj0iYWxsb3dmdWxsc2NyZWVuIiBhbGxvdz0iYXV0b3BsYXk7IGZ1bGxzY3JlZW4iPgombHQ7cCZndDtZb3VyIHdlYiBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgaWZyYW1lcywgd2hpY2ggbWVhbnMgdGhhdCB0aGUgdmlkZW8gSG93IHRvIFNlbGVjdCBhIEhhbmRoZWxkIERpc3NvbHZlZCBPeHlnZW4gTWV0ZXIgY2Fubm90IHBsYXkuJmx0Oy9wJmd0OwoKCgoKCjwvaWZyYW1lPjwvZGl2Pgo8L2Rpdj4KPHA+PC9wPgo8aDQ+VmlkZW86IEhvdyB0byBTZWxlY3QgYSBIYW5kaGVsZCBEaXNzb2x2ZWQgT3h5Z2VuIE1ldGVyPC9oND4KPHA+PC9wPgo8cD5UaGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9leG8iPkVYTzwvYT4gc29uZGUgaXMgc2ltaWxhciB0byB0aGUgUHJvRFNTLCBidXQgaXQgZmVhdHVyZXMgbW9yZSBzZW5zb3JzIChlLmcuLCB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9uaXRyYWxlZCI+Tml0cmFMRUQ8L2E+KSBhbmQgaXMgZGVzaWduZWQgZm9yIGNvbnRpbnVvdXMsIHVuYXR0ZW5kZWQgbW9uaXRvcmluZyBpbiBtYW55IHR5cGVzIG9mIGVudmlyb25tZW50cy4gSXQgaGFzIG9uYm9hcmQgYmF0dGVyaWVzLCBkYXRhIGxvZ2dpbmcsIGFuZCBhbiBvbmJvYXJkIHdpcGVyLCBhbGwgb2Ygd2hpY2ggYWxsb3cgZm9yIG1vbnRocy1sb25nIGRlcGxveW1lbnRzIGluIGhhcnNoIGVudmlyb25tZW50cy4gVGhpcyBpcyB0aGUgbW9zdCBhZHZhbmNlZCBvdXRkb29yIHdhdGVyIHF1YWxpdHkgbW9uaXRvcmluZyBwbGF0Zm9ybSB3ZSBvZmZlci4gTm90IGNvbnZpbmNlZD8gQ2hlY2sgb3V0IG91ciBibG9nIHBvc3Qgb24gPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS95c2ktYmxvZy93YXRlci1ibG9nZ2VkLWJsb2cvMjAyMC8wOC9iYXlvdS1zb3JyZWxsLWFuLXVuZXhwZWN0ZWQtYm9udXMtd2l0aC1leG8tc29uZGVzIj5CYXlvdSBTb3JyZWxsIHwgQW4gVW5leHBlY3RlZCBCb251cyB3aXRoIEVYTyBTb25kZXM8L2E+LjwvcD4KPGZpZ3VyZT48aW1nIGFsdD0iZGlzc29sdmVkIG94eWdlbiBtb25pdG9yaW5nIHN5c3RlbSIgb2JqZWN0aWQ9ImNmM2I3MzI3LTZlNTktNDdhOC1hZWViLTgzNGEyZGQyZTBhMSIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9kaXNzb2x2ZWQtb3h5Z2VuLW1vbml0b3Jpbmctc3lzdGVtLmpwZyIgZGF0YS1hbXAtaGVpZ2h0PSIzMDAiIGRhdGEtYW1wLXdpZHRoPSI2MDAiPjxicj4KPGZpZ2NhcHRpb24+RmlndXJlIDMwOiBUaGUgRVhPIGlzIGEgbXVsdGlwYXJhbWV0ZXIgc29uZGUgdGhhdCBtZWFzdXJlcyBETyB3aXRoIGFuIG9wdGljYWwgc2Vuc29yLiBFcXVpcHBlZCB3aXRoIGZlYXR1cmVzIHRoYXQgbWFrZSBpdCBpZGVhbCBmb3IgY29udGludW91cyB1bmF0dGVuZGVkIG1vbml0b3JpbmcsIHRoZSBFWE8gaXMgb3VyIHByZW1pdW0gb3V0ZG9vciB3YXRlciBxdWFsaXR5IHBsYXRmb3JtLjwvZmlnY2FwdGlvbj4KPC9maWd1cmU+CjxwPkFxdWFjdWx0dXJlIG1vbml0b3JzIGxpa2UgdGhlIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnlzaS5jb20vNTIwMGEiPjUyMDBBPC9hPiwgPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS81NDAwIj41NDAwPC9hPiwgYW5kIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnlzaS5jb20vNTUwMGQiPjU1MDBEPC9hPiBhcmUgYWxzbyBtZWFudCBmb3IgY29udGludW91cyBtb25pdG9yaW5nLCBidXQgdGhlc2Ugc3lzdGVtcyByZXF1aXJlIGEgcG93ZXIgc291cmNlIGFuZCBhcmUgdHlwaWNhbGx5IHN0YXRpb25hcnkuIFRoZXNlIGNhbiBiZSBjb25uZWN0ZWQgdG8gdGhlIDxhIGhyZWY9Ii9odHRwczovL3d3dy55c2kuY29tL2FxdWF2aWV3ZXJpaSI+QXF1YVZpZXdlciBJSSBBcHA8L2E+IHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGNvbmZpZ3VyZSB0YW5rcyBhbmQgbWFwIHRoZW0gb24gdGhlIGFwcCwgbW9uaXRvciB3YXRlciBxdWFsaXR5IGNvbmRpdGlvbnMsIHJlY2VpdmUgYWxhcm1zIGlmIHRoZXJlJ3MgYSBwcm9ibGVtLCBhbmQgbW9yZS48L3A+CjxmaWd1cmU+PGltZyBhbHQ9ImRpc3NvbHZlZCBveHlnZW4gbW9uaXRvcmluZyIgb2JqZWN0aWQ9ImNmM2I3MzI3LTZlNTktNDdhOC1hZWViLTgzNGEyZGQyZTBhMSIgc3JjPSJodHRwczovL3d3dy55c2kuY29tL2ltYWdlJTIwbGlicmFyeS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZCUyMG94eWdlbi9kaXNzb2x2ZWQtb3h5Z2VuLW1vbml0b3Jpbmctc3lzdGVtLWFxdWFyaXVtLmpwZyIgZGF0YS1hbXAtaGVpZ2h0PSIzMDAiIGRhdGEtYW1wLXdpZHRoPSI2MDAiPjxicj4KPGZpZ2NhcHRpb24+RmlndXJlIDMxOiBZU0kgYXF1YWN1bHR1cmUgaW5zdHJ1bWVudGF0aW9uIGlzIHVzZWQgdG8gbW9uaXRvciB0aGUgc2hhcmsgdGFuayBhdCBOZXdwb3J0IEFxdWFyaXVtIGluIE5ld3BvcnQsIEtZLiA8YSBocmVmPSJodHRwczovL3ZpZGVvLnlzaS5jb20vd2F0ZXItcXVhbGl0eS1tb25pdG9yaW5nLWF0LXRoZS1uZXdwb3J0LWFxdWFyaXVtLTEiPkNoZWNrIG91dCBvdXIgdmlkZW8hPC9hPjwvZmlnY2FwdGlvbj4KPC9maWd1cmU+CjxwPlRoZSA8YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL2lxc24iPklRIFNlbnNvck5ldDwvYT4gc3lzdGVtIGlzIGlkZWFsIGZvciB3YXN0ZXdhdGVyIG1vbml0b3JpbmcgYW5kIGNvbnRyb2wuIE9wZXJhdG9ycyB1c2Ugc3lzdGVtcyBsaWtlIHRoZXNlIHRvIHZpZXcgdGhlaXIgcHJvY2VzcyBpbiByZWFsLXRpbWUgYW5kIHJlYWN0IGFjY29yZGluZ2x5LiBBIHZhcmlldHkgb2YgY29udHJvbGxlcnMsIG1vZHVsZXMsIGFuZCBzZW5zb3JzIChlLmcuLCB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9mZG8iPkZETyA3MDAgb3B0aWNhbCBzZW5zb3I8L2E+KSBhbGxvdyBmYWNpbGl0aWVzIHRvIG1vbml0b3Igb25seSB3aGF0IHRoZXkgbmVlZCB0byAmIzgyMTE7IHVwIHRvIDIwIHByb2JlcyBjYW4gYmUgY29ubmVjdGVkISBTZW5zb3JzIGFyZSBidWlsdCBpbnRvIHJ1Z2dlZCwgY29ycm9zaW9uLXJlc2lzdGFudCBwcm9iZXMuPC9wPgo8ZmlndXJlPjxpbWcgYWx0PSJkaXNzb2x2ZWQgb3h5Z2VuIG1vbml0b3JpbmcgYW5kIGNvbnRyb2wiIG9iamVjdGlkPSJjZjNiNzMyNy02ZTU5LTQ3YTgtYWVlYi04MzRhMmRkMmUwYTEiIHNyYz0iaHR0cHM6Ly93d3cueXNpLmNvbS9pbWFnZSUyMGxpYnJhcnkvcGFyYW1ldGVycy9kaXNzb2x2ZWQlMjBveHlnZW4vZGlzc29sdmVkLW94eWdlbi1tb25pdG9yaW5nLWFuZC1jb250cm9sLXdhc3Rld2F0ZXIuanBnIiBkYXRhLWFtcC1oZWlnaHQ9IjMwMCIgZGF0YS1hbXAtd2lkdGg9IjYwMCI+PGJyPgo8ZmlnY2FwdGlvbj5GaWd1cmUgMzI6IEhpZ2hseSBjdXN0b21pemFibGUgYW5kIGV4Y2VwdGlvbmFsbHkgcnVnZ2VkLCB0aGUgSVFTTiBzeXN0ZW0gaXMgaWRlYWwgZm9yIHdhc3Rld2F0ZXIgbW9uaXRvcmluZyBhbmQgY29udHJvbCBhdCBhIHdhc3Rld2F0ZXIgdHJlYXRtZW50IGZhY2lsaXR5LjwvZmlnY2FwdGlvbj4KPC9maWd1cmU+CjxwPlRoZSB0YWJsZSBiZWxvdyBwcm92aWRlcyBhIGxpc3Qgb2YgWVNJJ3MgcGxhdGZvcm1zLCB0eXBpY2FsIHVzZSBmb3IgdGhlIHBsYXRmb3JtLCBhbmQgdGhlIHR5cGUgb2YgRE8gc2Vuc29yKHMpIGF2YWlsYWJsZS48L3A+CjxmaWd1cmU+CjxmaWdjYXB0aW9uPjxzdHJvbmc+VGFibGUgNDo8L3N0cm9uZz4gVHlwaWNhbCB1c2UgYW5kIHR5cGUgb2Ygc2Vuc29yKHMpIGF2YWlsYWJsZSBmb3IgWVNJJ3MgRE8gcGxhdGZvcm1zPC9maWdjYXB0aW9uPgo8L2ZpZ3VyZT4KPGRpdj4KPHRhYmxlIGNsYXNzPSJmb290YWJsZSB0d28gbWV0cm8tYmx1ZSI+Cjx0aGVhZD4KPHRyPgo8dGggZGF0YS10b2dnbGU9ImZhbHNlIj48c3Ryb25nPlBsYXRmb3JtPC9zdHJvbmc+PC90aD4KPHRoIGRhdGEtaGlkZT0icGhvbmUsdGFibGV0Ij48c3Ryb25nPlR5cGljYWwgVXNlPGJyPjwvc3Ryb25nPjwvdGg+Cjx0aCBkYXRhLWhpZGU9InBob25lLHRhYmxldCI+PHN0cm9uZz5BdmFpbGFibGUgRE8gU2Vuc29yIFR5cGUocyk8L3N0cm9uZz48L3RoPgo8dGggZGF0YS1oaWRlPSJwaG9uZSx0YWJsZXQiPjxzdHJvbmc+U2ltdWx0YW5lb3VzbHkgQ29ubmVjdCBPdGhlciBTZW5zb3JzIEJlc2lkZXMgRE8gYW5kIFRlbXBlcmF0dXJlPzxicj48L3N0cm9uZz48L3RoPgo8L3RyPgo8L3RoZWFkPgo8dGJvZHk+Cjx0cj4KPHRkPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlzaS5jb20vbXVsdGlsYWItNDAxMC0xdyI+TXVsdGlMYWIgNDAxMC0xVzwvYT48L3RkPgo8dGQ+TGFiPC90ZD4KPHRkPlBvbGFyb2dyYXBoaWMgb3Igb3B0aWNhbDwvdGQ+Cjx0ZD5ObzwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlzaS5jb20vbXVsdGlsYWItNDAxMC0ydyI+TXVsdGlMYWIgNDAxMC0yVzwvYT48L3RkPgo8dGQ+TGFiPC90ZD4KPHRkPlBvbGFyb2dyYXBoaWMgb3Igb3B0aWNhbDwvdGQ+Cjx0ZD5ZZXMsIDEgYWRkaXRpb25hbCBzZW5zb3I8L3RkPgo8L3RyPgo8dHI+Cjx0ZD48YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL211bHRpbGFiLTQwMTAtM3ciPk11bHRpTGFiIDQwMTAtM1c8L2E+PC90ZD4KPHRkPkxhYjwvdGQ+Cjx0ZD5Qb2xhcm9ncmFwaGljIG9yIG9wdGljYWw8L3RkPgo8dGQ+WWVzLCAxIGFkZGl0aW9uYWwgc2Vuc29yPC90ZD4KPC90cj4KPHRyPgo8dGQ+RWNvU2Vuc2UgPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9kbzIwMGEiPkRPMjAwQTwvYT4vPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9kbzIwMG0iPkRPMjAwTTwvYT48L3RkPgo8dGQ+RmllbGQ7IHBvcnRhYmxlIGhhbmRoZWxkPC90ZD4KPHRkPlBvbGFyb2dyYXBoaWM8L3RkPgo8dGQ+Tm88L3RkPgo8L3RyPgo8dHI+Cjx0ZD48YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL3BybzIwIj5Qcm8yMDwvYT4vPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9wcm8yMGkiPlBybzIwaTwvYT48L3RkPgo8dGQ+RmllbGQ7IHBvcnRhYmxlIGhhbmRoZWxkPC90ZD4KPHRkPlBvbGFyb2dyYXBoaWMgb3IgZ2FsdmFuaWM8L3RkPgo8dGQ+Tm88L3RkPgo8L3RyPgo8dHI+Cjx0ZD48YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL3BybzEwMjAiPlBybzEwMjA8L2E+PC90ZD4KPHRkPkZpZWxkOyBwb3J0YWJsZSBoYW5kaGVsZDwvdGQ+Cjx0ZD5Qb2xhcm9ncmFwaGljIG9yIGdhbHZhbmljPC90ZD4KPHRkPlllcywgcEggb3IgT1JQPC90ZD4KPC90cj4KPHRyPgo8dGQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9wcm8yMDMwIj5Qcm8yMDMwPC9hPjwvdGQ+Cjx0ZD5GaWVsZDsgcG9ydGFibGUgaGFuZGhlbGQ8L3RkPgo8dGQ+UG9sYXJvZ3JhcGhpYyBvciBnYWx2YW5pYzwvdGQ+Cjx0ZD5ZZXMsIGNvbmR1Y3Rpdml0eTwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlzaS5jb20vcHJvcXVhdHJvIj5Qcm9RdWF0cm88L2E+PC90ZD4KPHRkPkZpZWxkOyBwb3J0YWJsZSBoYW5kaGVsZDwvdGQ+Cjx0ZD5Qb2xhcm9ncmFwaGljIG9yIGdhbHZhbmljPC90ZD4KPHRkPlllcywgbXVsdGlwbGUgc2Vuc29yczwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlzaS5jb20vcHJvc29sbyI+UHJvU29sbyw8L2E+PGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9wcm9zd2FwIj4gUHJvU3dhcCw8L2E+IGFuZCBFY29zZW5zZSA8YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL29kbzIwMCI+T0RPMjAwPC9hPi88YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL29kbzIwMG0iPk9ETzIwMG08L2E+PC90ZD4KPHRkPkZpZWxkOyBwb3J0YWJsZSBoYW5kaGVsZDwvdGQ+Cjx0ZD5PcHRpY2FsPC90ZD4KPHRkPk5vPC90ZD4KPC90cj4KPHRyPgo8dGQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9wcm9kc3MiPlByb0RTUzwvYT48L3RkPgo8dGQ+RmllbGQ7IHBvcnRhYmxlPC90ZD4KPHRkPk9wdGljYWw8L3RkPgo8dGQ+WWVzLCBtdWx0aXBsZSBzZW5zb3JzPC90ZD4KPC90cj4KPHRyPgo8dGQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9leG8iPkVYTzwvYT48L3RkPgo8dGQ+RmllbGQ7IGxvbmctdGVybSBtb25pdG9yaW5nPC90ZD4KPHRkPk9wdGljYWw8L3RkPgo8dGQ+WWVzLCBtdWx0aXBsZSBzZW5zb3JzPC90ZD4KPC90cj4KPHRyPgo8dGQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS81MjAwYSI+NTIwMEE8L2E+PC90ZD4KPHRkPkZpZWxkOyBhcXVhY3VsdHVyZSBtb25pdG9yaW5nPC90ZD4KPHRkPlBvbGFyb2dyYXBoaWM8L3RkPgo8dGQ+WWVzLCBtdWx0aXBsZSBzZW5zb3JzPC90ZD4KPC90cj4KPHRyPgo8dGQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS81NDAwIj41NDAwPC9hPjwvdGQ+Cjx0ZD5GaWVsZDsgYXF1YWN1bHR1cmUgbW9uaXRvcmluZzwvdGQ+Cjx0ZD5HYWx2YW5pYzwvdGQ+Cjx0ZD5ObywgYnV0IG11bHRpcGxlIERPIHNlbnNvcnMgY2FuIGJlIGNvbm5lY3RlZDwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlzaS5jb20vNTUwMGQiPjU1MDBEPC9hPjwvdGQ+Cjx0ZD5GaWVsZDsgYXF1YWN1bHR1cmUgbW9uaXRvcmluZzwvdGQ+Cjx0ZD5PcHRpY2FsPC90ZD4KPHRkPk5vLCBidXQgbXVsdGlwbGUgRE8gc2Vuc29ycyBjYW4gYmUgY29ubmVjdGVkPC90ZD4KPC90cj4KPHRyPgo8dGQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9pcXNuIj5JUSBTZW5zb3JOZXQ8L2E+PC90ZD4KPHRkPkZpZWxkOyB3YXN0ZXdhdGVyIG1vbml0b3Jpbmc8L3RkPgo8dGQ+T3B0aWNhbDwvdGQ+Cjx0ZD5ZZXMsIG11bHRpcGxlIHNlbnNvcnM8L3RkPgo8L3RyPgo8L3Rib2R5Pgo8L3RhYmxlPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ly8gPCFbQ0RBVEFbCiQoZnVuY3Rpb24gKCkgeyAgICAkKCd0YWJsZScpLmZvb3RhYmxlKCk7ICAgICAgICAgfSk7Ci8vIF1dPjwvc2NyaXB0Pgo8L2Rpdj4KPHA+PC9wPgo8cD5TdGlsbCBub3Qgc3VyZSB3aGljaCBkaXNzb2x2ZWQgb3h5Z2VuIHNlbnNvciBvciBpbnN0cnVtZW50IGlzIHJpZ2h0IGZvciB5b3VyIG5lZWRzPyA8YSBocmVmPSJodHRwczovL3d3dy55c2kuY29tL2N1c3RvbWVyLXN1cHBvcnQvYXNrLWEtcXVlc3Rpb24iPkFzayBvdXIgZXhwZXJ0czwvYT4gb3IgPGEgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9jb25zdWx0Ij5zY2hlZHVsZSBhIGZyZWUgdmlydHVhbCBjb25zdWx0YXRpb248L2E+IHRvZGF5ITwvcD4KPHA+PGI+U291cmNlczwvYj48L3A+CjxvbD4KPGxpPjxzdHJvbmc+PC9zdHJvbmc+PGVtPjxhIGhyZWY9Imh0dHA6Ly9mcnVpdGFuZG51dGVkdWNhdGlvbi51Y2RhdmlzLmVkdS9nZW5lcmFsdG9waWNzL1RyZWVfR3Jvd3RoX1N0cnVjdHVyZS9QaG90b3N5bnRoZXNpc19SZXNwaXJhdGlvbi8iIHRhcmdldD0iX2JsYW5rIj48c3Ryb25nPlVDIERhdmlzPC9zdHJvbmc+LCA8ZW0+UGhvdG9zeXRoZXNpcyAmYW1wOyBSZXNwaXJhdGlvbjwvZW0+PC9hPjwvZW0+PC9saT4KPGxpPjxzdHJvbmc+PC9zdHJvbmc+PGVtPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnR3ZGIudGV4YXMuZ292L2dyb3VuZHdhdGVyL2RvY3MvVU1zL1VNLTUxLnBkZiIgdGFyZ2V0PSJfYmxhbmsiPjxzdHJvbmc+VGV4YXMgV2F0ZXIgRGV2ZWxvcG1lbnQgQm9hcmQ8L3N0cm9uZz4sIDxlbT5BIEZpZWxkIE1hbnVhbCBmb3IgR3JvdW5kd2F0ZXIgU2FtcGxpbmc8L2VtPjwvYT48L2VtPjwvbGk+CjxsaT48c3Ryb25nPjwvc3Ryb25nPjxlbT48YSBocmVmPSJodHRwczovL3d3dy5lcGEuc3RhdGUub2gudXMvcG9ydGFscy8yOC9kb2N1bWVudHMvVEdNLTEwLnBkZiIgdGFyZ2V0PSJfYmxhbmsiPjxzdHJvbmc+T2hpbyBFUEE8L3N0cm9uZz4sIDxlbT5Hcm91bmQgV2F0ZXIgU2FtcGxpbmc8L2VtPjwvYT48L2VtPjwvbGk+CjxsaT48c3Ryb25nPjwvc3Ryb25nPjxlbT48YSBocmVmPSJodHRwczovL25nd2Eub25saW5lbGlicmFyeS53aWxleS5jb20vZG9pL2Ficy8xMC4xMTExL2ouMTc0NS02NTkyLjE5ODgudGIwMDk4MS54IiB0YXJnZXQ9Il9ibGFuayI+PHN0cm9uZz5Hcm91bmR3YXRlciBNb25pdG9yaW5nICZhbXA7IFJlbWVkaWF0aW9uPC9zdHJvbmc+LCA8ZW0+TW9uaXRvcmluZyBEaXNzb2x2ZWQgT3h5Z2VuIGluIEdyb3VuZCBXYXRlciBTb21lIEJhc2ljIENvbnNpZGVyYXRpb25zPC9lbT48L2E+PC9lbT48L2xpPgo8bGk+PHN0cm9uZz48L3N0cm9uZz48ZW0+PGEgaHJlZj0iaHR0cHM6Ly9mcnRyLmdvdi9tYXRyaXgvZG9jdW1lbnRzL0VuaGFuY2VkLUluLVNpdHUtUmVkdWN0aXZlLURlY2hsb3JpbmF0ZWQtZm9yLUdyb3VuZHdhdGVyLzIwMDQtUHJpbmNpcGxlcy1hbmQtUHJhY3RpY2VzLW9mLUVuaGFuY2VkLUFuYWVyb2JpYy1CaW9yZW1lZGlhdGlvbi1vZi1DaGxvcmluYXRlZC1Tb2x2ZW50cy5wZGYiIHRhcmdldD0iX2JsYW5rIj48c3Ryb25nPlBhcnNvbnM8L3N0cm9uZz4sIDxlbT5QcmluY2lwbGVzIGFuZCBQcmFjdGljZXMgb2YgRW5oYW5jZWQgQW5hZXJvYmljIEJpb3JlbWVkaWF0aW9uIG9mIENobG9yaW5hdGVkIFNvbHZlbnRzPC9lbT48L2E+PC9lbT48L2xpPgo8bGk+PHN0cm9uZz48L3N0cm9uZz48ZW0+PGEgaHJlZj0iaHR0cHM6Ly9zZXJjLmNhcmxldG9uLmVkdS9taWNyb2JlbGlmZS9yZXNlYXJjaF9tZXRob2RzL2Vudmlyb25fc2FtcGxpbmcvb3h5Z2VuLmh0bWwiIHRhcmdldD0iX2JsYW5rIj48c3Ryb25nPlNFUkM8L3N0cm9uZz4sIDxlbT5UaGUgV2lua2xlciBNZXRob2QgLSBNZWFzdXJpbmcgRGlzc29sdmVkIE94eWdlbjwvZW0+PC9hPjwvZW0+PC9saT4KPC9vbD48L2Rpdj5kZAIJD2QWAgUFY3RsMDAPDxYCHwhlZGQCCg9kFgIFBWN0bDAwDw8WAh8IZWRkAgsPZBYCBQVjdGwwMA8PFgIfCGVkZAIMD2QWAgUFY3RsMDAPDxYCHwhlZGQCDQ9kFgIFBWN0bDAwDw8WAh8IZWRkAg4PZBYCBQVjdGwwMA8PFgIfCGVkZAIPD2QWAgUFY3RsMDAPDxYCHwhlZGQCEQ8PFgQfCQURQ0xDb250ZW50RGF0YVZpZXcfCgICZBYEBQVjdGwwMA9kFgJmDxYCHwgFxgE8ZGl2IGNsYXNzPSdjbFVzZXJNZXNzYWdlJz48aDU+PGltZyBzcmM9Jy9pYXBwc19pbWFnZXMvaW5zZXJ0X2NsY29udGVudGRhdGF2aWV3LnBuZycgYWx0PSdDTENvbnRlbnREYXRhVmlldycgLz48L2g1PjxociAvPjxwPkNsaWNrIHRoZSBFZGl0IChQZW5jaWwpIEljb24gdG8gYWRkIG9yIHJlbW92ZSBjb250ZW50IG1hbnVhbGx5LjwvcD48L2Rpdj5kBSdjdGwwMV9jbFNsaWRlckxpc3RDYWxsQmFja19DbGllbnRWYWx1ZXMPFgIeBXZhbHVlBQMwXl5kAhMPZBYCBQVjdGwwMA8PFgIfCAUGJm5ic3A7ZGQCFw9kFgIFBWN0bDAwDw8WAh8IBQYmbmJzcDtkZAIZDw8WBB8JBQ9DTEZvcm1Db250YWluZXIfCgICZGQCHQ9kFgIFBWN0bDAwDw8WAh8IBQYmbmJzcDtkZAIfDw8WBB8JBQ9DTEZvcm1Db250YWluZXIfCgICZGQCIw8PFgQfCQUPQ0xGb3JtQ29udGFpbmVyHwoCAmRkAiUPDxYCHwVoZGQCKQ9kFg5mDxYCHwgFjRgKPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogIHZhciBiZWN0YWJhcnNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwogIGJlY3RhYmFyc2NyaXB0LnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsKICBiZWN0YWJhcnNjcmlwdC5pZD0iYmVjdGFiYXJzY3JpcHRpZCI7CiAgYmVjdGFiYXJzY3JpcHQuYXN5bmMgPSAidHJ1ZSI7CiAgYmVjdGFiYXJzY3JpcHQuc2V0QXR0cmlidXRlKCJkYXRhLWN1c3RvbWVyaWQiLCJmMDAwMDAwMDAxNzA3NTgiKTsKICBiZWN0YWJhcnNjcmlwdC5zZXRBdHRyaWJ1dGUoImRhdGEtdGVzdG1vZGUiLCJmYWxzZSIpOwogIGJlY3RhYmFyc2NyaXB0LnNldEF0dHJpYnV0ZSgiZGF0YS1jb25maWdwYXRoIiwiaHR0cHM6Ly9jdGEtY2YuYmMwYS5jb20vanMvY3RhX2YwMDAwMDAwMDE3MDc1OC12My5qcyIpOwogIGJlY3RhYmFyc2NyaXB0LnNyYyA9ICJodHRwczovL2N0YS1jZi5iYzBhLmNvbS9qcy9jdGEtY29yZS12My5qcyI7CiAgdmFyIHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07CiAgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiZWN0YWJhcnNjcmlwdCwgcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8ZGl2IGNsYXNzPSJiZS1yZWxhdGVkLWxpbmstY29udGFpbmVyIHJvdyI+PGRpdiBjbGFzcz0iYmUtbGFiZWwiPlJlbGF0ZWQgSW5mb3JtYXRpb248L2Rpdj48dWwgY2xhc3M9ImJlLWxpc3QiPjxsaSBjbGFzcz0iYmUtbGlzdC1pdGVtIj48YSBjbGFzcz0iYmUtcmVsYXRlZC1saW5rIiBocmVmPSJodHRwczovL3d3dy55c2kuY29tL3lzaS1ibG9nL3dhdGVyLWJsb2dnZWQtYmxvZy8yMDE0LzA2L2Vudmlyb25tZW50YWwtZGlzc29sdmVkLW94eWdlbi12YWx1ZXMtYWJvdmUtMTAwLWFpci1zYXR1cmF0aW9uIj5FbnZpcm9ubWVudGFsIERpc3NvbHZlZCBPeHlnZW4gVmFsdWVzIEFib3ZlLi4uPC9hPjwvbGk+PGxpIGNsYXNzPSJiZS1saXN0LWl0ZW0iPjxhIGNsYXNzPSJiZS1yZWxhdGVkLWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LnlzaS5jb20veXNpLWJsb2cvd2F0ZXItYmxvZ2dlZC1ibG9nLzIwMjEvMDYvZG8tbWV0ZXItbWVhc3VyZW1lbnQtcHJvYmxlbXMtY2hlY2stb3V0LXRoZXNlLXRvcC10aXBzIj5ETyBNZXRlciBNZWFzdXJlbWVudCBQcm9ibGVtcz88L2E+PC9saT48bGkgY2xhc3M9ImJlLWxpc3QtaXRlbSI+PGEgY2xhc3M9ImJlLXJlbGF0ZWQtbGluayIgaHJlZj0iaHR0cHM6Ly93d3cueXNpLmNvbS9leG8tdW5pdmVyc2l0eS92aWRlby9leG8tbWVhc3VyZW1lbnQtdW5pdHMtZGlzc29sdmVkLW94eWdlbiI+RVhPIE1lYXN1cmVtZW50IFVuaXRzIOKAkyBEaXNzb2x2ZWQgT3h5Z2VuPC9hPjwvbGk+PC91bD48L2Rpdj4KPCEtLQogICBiZV9zZGttc19wdWI6IGxpbmstYmxvY2s7IGxpbmstYmxvY2tfMS4wLjAuMDsgYm9keXN0cjwvbGk+CiAgIGJlX3Nka21zX2RhdGVfbW9kaWZpZWQ6IHBuX3RzdHI6TW9uIE1hciAwMyAxMjozNTo1NCBQU1QgMjAyNTsgcG5fZXBvY2g6MTc0MTAzNDE1NDA1NTsKICAgYmVfc2RrbXNfdGltZXI6IDAgbXM7Ci0tPgoKPHVsIGlkPSJiZV9zZGttc19jYXBzdWxlIiBzdHlsZT0iZGlzcGxheTpub25lIWltcG9ydGFudCI+CiAgICA8bGkgaWQ9ImJlX3Nka21zX2NhcHN1bGVfbWVzc2FnZXMiPgogICAgPCEtLSBpeGZfbXNnOiBDTSBib2R5c3RyIG5vZGVfdHlwZSBub2RlIGZlYXR1cmVfZ3JvdXAgX2JvZHlfb3BlbiAtLT4KICAgIDwvbGk+CiAgICA8bGkgY2xhc3M9ImJlX3Nka21zX3Nka192ZXJzaW9uIj5iZV9peGY7IGRvdG5ldF9zZGs7IGRvdG5ldF9zZGtfMS40LjEyPC9saT4KICAgIDxsaSBpZD0iYmVfc2RrbXNfb3JpZ2luYWxfdXJsIj5odHRwczovL3d3dy55c2kuY29tL3BhcmFtZXRlcnMvZGlzc29sdmVkLW94eWdlbjwvbGk+CiAgICA8bGkgaWQ9ImJlX3Nka21zX2NhcHN1bGVfdXJsIj5odHRwOi8vaXhmZC1hcGkuYmMwYS5jb20vYXBpL2l4Zi8xLjAuMC9nZXRfY2Fwc3VsZS9mMDAwMDAwMDAxNzA3NTgvMDE0MTQxNDA3NTY/Y2xpZW50PWRvdG5ldF9zZGsmY2xpZW50X3ZlcnNpb249MS40LjEyJm9yaWdfdXJsPWh0dHBzJTNBJTJGJTJGd3d3LnlzaS5jb20lMkZwYXJhbWV0ZXJzJTJGZGlzc29sdmVkLW94eWdlbiZiYXNlX3VybD1odHRwcyUzQSUyRiUyRnd3dy55c2kuY29tJTJGcGFyYW1ldGVycyUyRmRpc3NvbHZlZC1veHlnZW4mdXNlcl9hZ2VudD1Nb3ppbGxhJTJGNC4wKyhjb21wYXRpYmxlJTNCK01TSUUrNy4wJTNCK1dpbmRvd3MrTlQrNi4wJTNCK1NMQ0MxJTNCKy5ORVQrQ0xSKzIuMC41MDcyNyUzQisuTkVUK0NMUiszLjAuMDQ1MDYlM0IrLk5FVCtDTFIrMy41LjIxMDIyJTNCKy5ORVQrQ0xSKzEuMC4zNzA1JTNCKy5ORVQrQ0xSKzEuMS40MzIyKTwvbGk+CiAgICA8bGkgaWQ9ImJlX3Nka21zX25vcm1hbGl6ZWRfdXJsIj5odHRwczovL3d3dy55c2kuY29tL3BhcmFtZXRlcnMvZGlzc29sdmVkLW94eWdlbjwvbGk+CiAgICA8bGkgaWQ9ImJlX3Nka21zX2NvbmZpZ3VyYXRpb24iPnNkay5lbnZpcm9ubWVudD1wcm9kdWN0aW9uO3Nkay5jaGFyc2V0PVVURi04O2FwaS5lbmRwb2ludD1odHRwOi8vaXhmZC1hcGkuYmMwYS5jb20vO3Nkay5hY2NvdW50PWYwMDAwMDAwMDE3MDc1ODtzZGsuY29ubmVjdFRpbWVvdXQ9NTAwO3Nkay5zb2NrZXRUaW1lb3V0PTUwMDtzZGsuY3Jhd2xlckNvbm5lY3RUaW1lb3V0PTc1MDtzZGsuY3Jhd2xlclNvY2tldFRpbWVvdXQ9NzUwO3doaXRlbGlzdC5wYXJhbWV0ZXIubGlzdD1peGY7ZmxhdC5maWxlPXRydWU7c2RrLnByb3h5UG9ydD0wO3Nkay5wcm94eVByb3RvY29sPWh0dHA7Y3Jhd2xlci51c2VyYWdlbnRzPWdvb2dsZXxiaW5nYm90fG1zbmJvdHxzbHVycHxkdWNrZHVja2JvdHxiYWlkdXNwaWRlcnx5YW5kZXhib3R8c29nb3V8ZXhhYm90fGZhY2Vib3R8aWFfYXJjaGl2ZXI7Zm9yY2VkaXJlY3RhcGkucGFyYW1ldGVyLmxpc3Q9aXhmLWFwaXxpeGY7cGFnZS5hbGlhcy51cmw9aHR0cHM6Ly93d3cueXNpLmNvbS9wYXJhbWV0ZXJzL2Rpc3NvbHZlZC1veHlnZW47Y2Fub25pY2FsLmhvc3Q9d3d3LnlzaS5jb207Y2Fub25pY2FsLnByb3RvY29sPWh0dHBzPC9saT4KPC91bD4KZAICDw8WBB8JBRFDTENvbnRlbnREYXRhVmlldx8KAgJkFgQFBWN0bDAwD2QWAmYPFgIfCAWMAzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi0xNiI/Pg0KPG5hdiBjbGFzcz0iY29udGFjdCI+DQogIDx1bD4NCiAgICA8bGk+DQogICAgICA8YSBocmVmPSJ0ZWw6MTkzNzY4ODQyNTUiIGNsYXNzPSJpY29uLXBob25lIj5DYWxsICsxIDkzNy02ODgtNDI1NTwvYT4NCiAgICA8L2xpPg0KICAgIDxsaT4NCiAgICAgIDxhIGhyZWY9Ii9jb250YWN0LXVzL2Nvbm5lY3Qtd2l0aC15c2kiIGNsYXNzPSJpY29uLXVzZXJzIj5Db25uZWN0IHdpdGggdXM8L2E+DQogICAgPC9saT4NCiAgICA8bGk+DQogICAgICA8YSBocmVmPSJtYWlsdG86eXNpLmluZm9AeHlsZW0uY29tIiBjbGFzcz0iaWNvbi1tYWlsIj55c2kuaW5mb0B4eWxlbS5jb208L2E+DQogICAgPC9saT4NCiAgPC91bD4NCjwvbmF2PmQFNGN0bDAxX0Zvb3RlckNvbnRlbnRfQ29udGFjdEluZm9DYWxsQmFja19DbGllbnRWYWx1ZXMPFgIfDQUDMF5eZAIDDw8WBB8JBRFDTENvbnRlbnREYXRhVmlldx8KAgJkFgQFBWN0bDAwD2QWAmYPFgIfCAWGBTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi0xNiI/Pg0KPHVsPg0KICA8bGk+DQogICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci9ZU0lpbmMiIGNsYXNzPSJpY29uLXlvdXR1YmUiPg0KICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpub25lOyI+WW91dHViZTwvZGl2Pg0KICAgIDwvYT4NCiAgPC9saT4NCiAgPGxpPg0KICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L3lzaSIgY2xhc3M9Imljb24tbGlua2VkaW4iPg0KICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpub25lOyI+TGlua2VkSW48L2Rpdj4NCiAgICA8L2E+DQogIDwvbGk+DQogIDxsaT4NCiAgICA8YSBocmVmPSJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL3lzaWluYy8iIGNsYXNzPSJpY29uLWluc3RhZ3JhbSI+DQogICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij5JbnN0YWdyYW08L2Rpdj4NCiAgICA8L2E+DQogIDwvbGk+DQogIDxsaT4NCiAgICA8YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vbXlZU0kiIGNsYXNzPSJpY29uLWZhY2Vib29rIj4NCiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPkZhY2Vib29rPC9kaXY+DQogICAgPC9hPg0KICA8L2xpPg0KPC91bD5kBTpjdGwwMV9Gb290ZXJDb250ZW50X1NvY2lhbEljb25zRm9vdGVyQ2FsbEJhY2tfQ2xpZW50VmFsdWVzDxYCHw0FAzBeXmQCBA9kFgIFBWN0bDAwDw8WAh8IBdACPGgyIHN0eWxlPSJjb2xvcjogd2hpdGU7Ij5TdWJzY3JpYmUgdG8gT3VyIEJsb2c8L2gyPiA8c2NyaXB0IHNyYz0iLy9hcHAtc2oyMS5tYXJrZXRvLmNvbS9qcy9mb3JtczIvanMvZm9ybXMyLm1pbi5qcyI+PC9zY3JpcHQ+IDxkaXYgaWQ9Im1rdG9Gb3JtXzExNjkiPiZuYnNwOzwvZGl2PiA8cD48c2NyaXB0PiBNa3RvRm9ybXMyLmxvYWRGb3JtKCIvL2FwcC1zajIxLm1hcmtldG8uY29tIiwgIjI0MC1VVEItMTQ2IiwgMTE2OSwgZnVuY3Rpb24gKGZvcm0peyBNa3RvRm9ybXMyLiQoIiNta3RvRm9ybV8xMTY5IikuYXBwZW5kKGZvcm0uZ2V0Rm9ybUVsZW0oKSk7IH0pOyA8L3NjcmlwdD48L3A+ZGQCBQ8PFgQfCQUPQ0xGb3JtQ29udGFpbmVyHwoCAmRkAgYPZBYCBQVjdGwwMA8PFgIfBgUqfi9JbWFnZSBMaWJyYXJ5L0xvZ28veHlsZW0tbG9nby1mb290ZXIucG5nZGQCBw9kFgIFBWN0bDAwDw8WAh8IBZ4OPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDI1IFlTSSBJbmMuIC8gWHlsZW0gSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxicj48YSBocmVmPSJodHRwczovL3d3dy54eWxlbS5jb20vZW4tVVMvc3VwcG9ydC94eWxlbS1hbWVyaWNhcy1zdGFuZGFyZC10ZXJtcy1hbmQtY29uZGl0aW9ucy8iIHRhcmdldD0iX2JsYW5rIiBkYXRhLWlhcHBzLWxpbmt0eXBlPSJFeHRlcm5hbCIgZGF0YS1pYXBwcy1tYW5hZ2VkPSJ0cnVlIj5UZXJtcyAmIENvbmRpdGlvbnMgb2YgU2FsZTwvYT4gfCA8YSBocmVmPSJodHRwczovL3d3dy54eWxlbS5jb20vc2l0ZWFzc2V0cy9zdXBwb3J0L3Rlcm1zLWFuZC1jb25kaXRpb25zL3N0YW5kYXJkLXRlcm1zLWFuZC1jb25kaXRpb25zLW9mLXB1cmNoYXNlLzIwMTktdGVybXMtYW5kLWNvbmRpdGlvbnMtb2YtcHVyY2hhc2UtLS1yZXZpc2VkL3h5bGVtLS0tdGVybXMtYW5kLWNvbmRpdGlvbnMtb2YtcHVyY2hhc2VfMjAxOV9lbmdsaXNoLnBkZiIgdGFyZ2V0PSJfYmxhbmsiIGRhdGEtaWFwcHMtbGlua3R5cGU9IkV4dGVybmFsIiBkYXRhLWlhcHBzLW1hbmFnZWQ9InRydWUiPlRlcm1zICYgQ29uZGl0aW9ucyBvZiBQdXJjaGFzZTwvYT4mbmJzcDt8IDxhIGhyZWY9Imh0dHBzOi8vd3d3Lnh5bGVtLmNvbS9lbi1VUy9zdXBwb3J0L3Rlcm1zLWFuZC1jb25kaXRpb25zLyIgdGl0bGU9Ilh5bGVtIExlZ2FsIERpc2NsYWltZXIiIHRhcmdldD0iX2JsYW5rIiBkYXRhLWlhcHBzLWxpbmt0eXBlPSJFeHRlcm5hbCIgZGF0YS1pYXBwcy1tYW5hZ2VkPSJ0cnVlIj5MZWdhbCBEaXNjbGFpbWVyPC9hPiZuYnNwO3wgPGEgaHJlZj0iaHR0cHM6Ly93d3cueHlsZW0uY29tL2VuLVVTL3N1cHBvcnQvcHJpdmFjeS8iIHRhcmdldD0iX2JsYW5rIiBkYXRhLWlhcHBzLWxpbmt0eXBlPSJFeHRlcm5hbCIgZGF0YS1pYXBwcy1tYW5hZ2VkPSJ0cnVlIj5Qcml2YWN5IFBvbGljeTwvYT4gfCA8YSBocmVmPSJodHRwczovL3d3dy54eWxlbS5jb20vc2l0ZWFzc2V0cy9hYm91dC14eWxlbS90cmFuc3BhcmVuY3ktaW4tc3VwcGx5LWNoYWlucy5wZGYiIHRhcmdldD0iX2JsYW5rIj5UcmFuc3BhcmVuY3kgaW4gU3VwcGx5IENoYWluczwvYT4gfCA8YSB0aXRsZT0iRG8gTm90IFNlbGwgT3IgU2hhcmUgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iPkRvIE5vdCBTZWxsIE9yIFNoYXJlIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uPC9hPjwvcD4KPHA+WVNJIEluY29ycG9yYXRlZCB8IDE3MDAvMTcyNSBCcmFubnVtIExhbmUgfCBZZWxsb3cgU3ByaW5ncywgT0ggNDUzODcgVVNBIHwgKzEtOTM3LTY4OC00MjU1IHwgPGEgaHJlZj0ibWFpbHRvOnlzaS5pbmZvQHh5bGVtLmNvbSI+eXNpLmluZm9AeHlsZW0uY29tPC9hPjxicj5ZU0kgaXMgYSB0cmFkZW1hcmsgb2YgWHlsZW0gSW5jLiBvciBvbmUgb2YgaXRzIHN1YnNpZGlhcmllcy4gTGVhcm4gbW9yZSBhYm91dCA8YSBocmVmPSJodHRwczovL3d3dy54eWxlbS5jb20vZW4tdXMvIiB0YXJnZXQ9Il9ibGFuayI+WHlsZW08L2E+IGFuZCA8YSBocmVmPSJodHRwczovL3d3dy54eWxlbWFuYWx5dGljcy5jb20vZW4iIHRhcmdldD0iX2JsYW5rIj5YeWxlbSBBbmFseXRpY3M8L2E+Ljxicj5XZSB1c2UgY29va2llcyBhbmQgYmVhY29ucyB0byBpbXByb3ZlIHlvdXIgZXhwZXJpZW5jZSBvbiBvdXIgc2l0ZS4gUmVhZCBtb3JlIGFib3V0IHRoaXMgaW4gb3VyIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lnh5bGVtLmNvbS9lbi1VUy9zdXBwb3J0L3ByaXZhY3kvIiBkYXRhLWlhcHBzLWxpbmt0eXBlPSJFeHRlcm5hbCIgZGF0YS1pYXBwcy1tYW5hZ2VkPSJ0cnVlIj5Qcml2YWN5IFBvbGljeTwvYT4uPC9wPmRkAgUPFgIfBWhkAgcPZBYCAgEPFCsAAmRkZAIHD2QWBGYPFgYfAgUPdGV4dC9qYXZhc2NyaXB0HwQFNS9TY3JpcHQlMjBMaWJyYXJ5L1NpdGUvY29tbW9uLmpzP3Y9NjM4NzM2MzI4ODgwMDAwMDAwHgVkZWZlcgUFZGVmZXJkAgEPFgYfAgUPdGV4dC9qYXZhc2NyaXB0HwQFRS9TY3JpcHQlMjBMaWJyYXJ5L1NpdGUvanF1ZXJ5LnJveWFsc2xpZGVyLm1pbi5qcz92PTYzODczNjMyODg4MDAwMDAwMB8OBQVkZWZlcmQYCgUec2l0ZUVkaXRvclRvb2xiYXIkbHZTaGFyZWRQYWdlD2dkBR9jdGwwMSRGb290ZXJDb250ZW50JENvbnRhY3RJbmZvDzLVAQABAAAA/////wEAAAAAAAAABAEAAAB/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBgAACAgJAgAAAAMAAAADAAAAEQIAAAAEAAAABgMAAAABMA0DC2QFJWN0bDAxJEZvb3RlckNvbnRlbnQkU29jaWFsSWNvbnNGb290ZXIPMtUBAAEAAAD/////AQAAAAAAAAAEAQAAAH9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24GAAAICAkCAAAAAwAAAAMAAAARAgAAAAQAAAAGAwAAAAEwDQMLZAUdc2l0ZUVkaXRvclRvb2xiYXIkbHZQYWdlTW9kZXMPZ2QFH3NpdGVFZGl0b3JUb29sYmFyJGx2VXNlck9wdGlvbnMPZ2QFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxZHBRtjdGwwMSRIZWFkZXJDb250ZW50JFlTSUxvZ28FG2N0bDAxJEhlYWRlckNvbnRlbnQkWVNJTG9nbwUdY3RsMDEkQnJlYWRjcnVtYiRjbEJyZWFkQ3J1bWIFEGN0bDAxJGltZ0Z1bGxUb3AFEGN0bDAxJGltZ0Z1bGxUb3AFHWN0bDAxJFF1aWNrTGlua3NUZXh0Q29udGFpbmVyBR1jdGwwMSRRdWlja0xpbmtzVGV4dENvbnRhaW5lcgUPY3RsMDEkcGFnZVRpdGxlBRJjdGwwMSRjbFNsaWRlckxpc3QFHGN0bDAxJFN1YkhlYWRlclRleHRDb250YWluZXIFHGN0bDAxJFN1YkhlYWRlclRleHRDb250YWluZXIFF2N0bDAxJExlZnRUZXh0Q29udGFpbmVyBRdjdGwwMSRMZWZ0VGV4dENvbnRhaW5lcgUWY3RsMDEkY2xGb3JtQ29udGFpbmVyMQUYY3RsMDEkUmlnaHRUZXh0Q29udGFpbmVyBRhjdGwwMSRSaWdodFRleHRDb250YWluZXIFFmN0bDAxJGNsRm9ybUNvbnRhaW5lcjIFFWN0bDAxJGNsRm9ybUNvbnRhaW5lcgUTY3RsMDEkaW1nRnVsbEJvdHRvbQUTY3RsMDEkaW1nRnVsbEJvdHRvbQUfY3RsMDEkRm9vdGVyQ29udGVudCRDb250YWN0SW5mbwUlY3RsMDEkRm9vdGVyQ29udGVudCRTb2NpYWxJY29uc0Zvb3RlcgUkY3RsMDEkRm9vdGVyQ29udGVudCRHZXRPdXJOZXdzbGV0dGVyBSRjdGwwMSRGb290ZXJDb250ZW50JEdldE91ck5ld3NsZXR0ZXIFJGN0bDAxJEZvb3RlckNvbnRlbnQkTmV3c2xldHRlclNpZ251cAUhY3RsMDEkRm9vdGVyQ29udGVudCRZU0lMb2dvRm9vdGVyBSFjdGwwMSRGb290ZXJDb250ZW50JFlTSUxvZ29Gb290ZXIFIGN0bDAxJEZvb3RlckNvbnRlbnQkZnd0Q29weXJpZ2h0BSBjdGwwMSRGb290ZXJDb250ZW50JGZ3dENvcHlyaWdodAU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIxJFBhZ2Vab25lQ29udGFpbmVyMV80RTAyd1J3aUNCRQU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIxJFBhZ2Vab25lQ29udGFpbmVyMV80RTAyd1J3aUNCRQU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIxJFBhZ2Vab25lQ29udGFpbmVyMV85NHZUOWZ2V1RXeQU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIxJFBhZ2Vab25lQ29udGFpbmVyMV85NHZUOWZ2V1RXeQU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIxJFBhZ2Vab25lQ29udGFpbmVyMV85ZWVCQzhMTmhuZQU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIxJFBhZ2Vab25lQ29udGFpbmVyMV85ZWVCQzhMTmhuZQU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIxJFBhZ2Vab25lQ29udGFpbmVyMV83aWN4WnQ3VVl3ZgU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIxJFBhZ2Vab25lQ29udGFpbmVyMV83aWN4WnQ3VVl3ZgU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIxJFBhZ2Vab25lQ29udGFpbmVyMV82MTFXNURVeGhzYgU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIxJFBhZ2Vab25lQ29udGFpbmVyMV82MTFXNURVeGhzYgU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl83ZzQ5SnJWSUxOUgU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl83ZzQ5SnJWSUxOUgU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl8zRUNBS2hsWjJ1VgU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl8zRUNBS2hsWjJ1VgU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl83elN4STdWUFg5OAU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl83elN4STdWUFg5OAU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl8yV2h0RWNVMTRkRwU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl8yV2h0RWNVMTRkRwU2Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl9FdVlDQWkwcUg2BTZjdGwwMSRQYWdlWm9uZUNvbnRhaW5lcjIkUGFnZVpvbmVDb250YWluZXIyX0V1WUNBaTBxSDYFNmN0bDAxJFBhZ2Vab25lQ29udGFpbmVyMiRQYWdlWm9uZUNvbnRhaW5lcjJfNlNBWGE5VVVtTQU2Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl82U0FYYTlVVW1NBTdjdGwwMSRQYWdlWm9uZUNvbnRhaW5lcjIkUGFnZVpvbmVDb250YWluZXIyXzVLVnBXVm85bEVPBTdjdGwwMSRQYWdlWm9uZUNvbnRhaW5lcjIkUGFnZVpvbmVDb250YWluZXIyXzVLVnBXVm85bEVPBTdjdGwwMSRQYWdlWm9uZUNvbnRhaW5lcjIkUGFnZVpvbmVDb250YWluZXIyXzFEVnNHQlpOZVUwBTdjdGwwMSRQYWdlWm9uZUNvbnRhaW5lcjIkUGFnZVpvbmVDb250YWluZXIyXzFEVnNHQlpOZVUwBTZjdGwwMSRQYWdlWm9uZUNvbnRhaW5lcjIkUGFnZVpvbmVDb250YWluZXIyX1ZKWkhpWDk3RmgFNmN0bDAxJFBhZ2Vab25lQ29udGFpbmVyMiRQYWdlWm9uZUNvbnRhaW5lcjJfVkpaSGlYOTdGaAU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl9BOXdzT2VLcUU5SQU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl9BOXdzT2VLcUU5SQU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl8zVzl3UkJPTUthNQU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl8zVzl3UkJPTUthNQU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl84Vjdsa3lkUWp3bwU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl84Vjdsa3lkUWp3bwU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl80aFpHQzNtS0FXegU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl80aFpHQzNtS0FXegU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl8xbEpxOUlnSzg4SQU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl8xbEpxOUlnSzg4SQU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl9BdnBXNmpOS0hhagU3Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl9BdnBXNmpOS0hhagU2Y3RsMDEkUGFnZVpvbmVDb250YWluZXIyJFBhZ2Vab25lQ29udGFpbmVyMl82aUhlR0QyRWNJBTZjdGwwMSRQYWdlWm9uZUNvbnRhaW5lcjIkUGFnZVpvbmVDb250YWluZXIyXzZpSGVHRDJFY0kFH3NpdGVFZGl0b3JUb29sYmFyJGx2UGFnZUJ1aWxkZXIPZ2QFC2x2RGVidWdJbmZvD2dkBRJjdGwwMSRjbFNsaWRlckxpc3QPMtUBAAEAAAD/////AQAAAAAAAAAEAQAAAH9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24GAAAICAkCAAAAAwAAAAMAAAARAgAAAAQAAAAGAwAAAAEwDQMLZAUlc2l0ZUVkaXRvclRvb2xiYXIkbHZQcm9kdWN0TmF2aWdhdGlvbg9nZDg8IR606Bw8voFHA3iCXuuFcyeD" /></form> <script type="text/javascript" src="/Script%20Library/Site/common.js?v=638736328880000000" defer="defer"></script> <script type="text/javascript" src="/Script%20Library/Site/jquery.royalslider.min.js?v=638736328880000000" defer="defer"></script> <script type="text/javascript"> //<![CDATA[ (function () { var iat = document.createElement('script'); iat.type = 'text/javascript'; iat.async = true; iat.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'www.ysi.com/jsfile/Tracking.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(iat, s);})(); window.postURL=('https:' == document.location.protocol ? 'https://' : 'http://') +'www.ysi.com/api/tracking/'; //]]> </script> <!--Begin Comm100 Live Chat Code--> <div id="comm100-button-dynamic"></div> <script type="text/javascript"> var Comm100API=Comm100API||{};(function(t){function e(e){var a=document.createElement("script"),c=document.getElementsByTagName("script")[0];a.type="text/javascript",a.async=!0,a.src=e+t.site_id,c.parentNode.insertBefore(a,c)}t.chat_buttons=t.chat_buttons||[],t.chat_buttons.push({div_id:"comm100-button-dynamic"}),t.site_id=1000085,t.dynamic=true,e("https://ent.comm100.com/chatserver/livechat.ashx?siteId="),setTimeout(function(){t.loaded||e("https://entmax.comm100.com/chatserver/livechat.ashx?siteId=")},5e3)})(Comm100API||{}) </script> <!--End Comm100 Live Chat Code--><script type="text/javascript"> _linkedin_partner_id = "1178698"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id); </script><script type="text/javascript"> (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); </script> <noscript> <img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=1178698&fmt=gif" /> </noscript> </body> </html>